From 904f6ee81bb9b981f82423fdc61002f81b48821b Mon Sep 17 00:00:00 2001 From: Allan Bowe <> Date: Sun, 31 May 2020 18:05:51 +0200 Subject: [PATCH] jobmeta update --- docs/dcu-lineage.md | 30 ++++++++++++++++++++++++++++++ docs/img/dcu-jobmeta.png | Bin 0 -> 19283 bytes docs/licences.md | 2 +- mkdocs.yml | 7 ++++--- 4 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 docs/dcu-lineage.md create mode 100644 docs/img/dcu-jobmeta.png diff --git a/docs/dcu-lineage.md b/docs/dcu-lineage.md new file mode 100644 index 0000000..92b673d --- /dev/null +++ b/docs/dcu-lineage.md @@ -0,0 +1,30 @@ +# Data Lineage + +The Data Lineage feature is available for SAS 9 installs. The implementation differs depending on whether the lineage is table level or column level. + +## Table Level lineage + +Table level lineage is relatively straightforward, and so it is extracted in a single ad-hoc `proc metadata` call and stored in the `DATACTRL.MPE_LINEAGE_TABS` table. To trigger the population (or refresh) of this table, simply execute the `YOURSERVER/SASStoredProcess/?_program={appLoc}/DataController/admin/refreshtablelineage` service from a browser. + +![jobmetadata](img/dcu-jobmeta.png) + +This data is stored with SCD2 so it is possible to track changes to lineage over time. + +When users execute table level lineage, queries are made against this table, so there is very little metadata impact. + +## Column Level lineage + +Column level lineage is more complex as it also includes all the different transforms, and calculation logic along the way. For this reason it is performed at runtime, which means the initial request can take some time if there is a lot of lineage. + +After the first request, subsequent lineage requests (for that particular column and direction) are cached in the `DATACTRL.MPE_LINEAGE_COLS` table for faster response times. + +If the job is changed and a new diagram is needed, the user can click the 'refresh' checkbox. + +## Export Types + +Both Table and column level lineage pages allow the following export formats: + +* SVG - high res digram format +* PNG - image format +* DOT - the graphviz language format used to generate the diagram +* CSV - a download of all the sources and targets in the diagram \ No newline at end of file diff --git a/docs/img/dcu-jobmeta.png b/docs/img/dcu-jobmeta.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc04f26f18c355aa931cc95b5285ee829ca0cad GIT binary patch literal 19283 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%0DcRV+!Br? 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 I=akR{0G-AvmH+?% literal 0 HcmV?d00001 diff --git a/docs/licences.md b/docs/licences.md index 99cbc66..ff3baa5 100644 --- a/docs/licences.md +++ b/docs/licences.md @@ -1103,7 +1103,7 @@ Data Controller source licences are extracted automatically from our repo using │ ├─ url: http://trentm.com │ ├─ path: /Users/allan/git/dcfrontend/node_modules/dashdash │ └─ licenseFile: node_modules/dashdash/LICENSE.txt -├─ datacontroller@3.7.0 +├─ datacontroller@3.8.0 │ ├─ licenses: UNLICENSED │ ├─ private: true │ ├─ path: ../dcfrontend diff --git a/mkdocs.yml b/mkdocs.yml index 1aa3bfb..b05e252 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,13 +1,14 @@ site_name: Data Controller for SAS® Product Documentation pages: - Home: index.md -- Using Data Controller: +- User Guide: - Overview: dc-overview.md - DC User Guide: dc-userguide.md - File Uploads: dcu-fileupload.md - Table Viewer: dcu-tableviewer.md + - Data Lineage: dcu-lineage.md - Data Catalog: dcu-datacatalog.md -- Configuring Data Controller: +- Configuration: - Dates / Datetimes: dcc-dates.md - Emails: emails.md - Groups: dcc-groups.md @@ -16,7 +17,7 @@ pages: - Selectboxes: dcc-selectbox.md - Tables: dcc-tables.md - Validations: dcc-validations.md -- Installing Data Controller: +- Installation: - System Requirements: dci-requirements.md - Backend: dci-backend.md - Frontend: dci-frontend.md