Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
206d88c6a9 | ||
|
|
cd47d0e442 | ||
|
|
85f200c724 | ||
|
|
4a53499055 | ||
|
|
d95f440c4f | ||
|
|
94b27628aa | ||
|
|
5236b74fee | ||
|
|
06df7e6e23 | ||
|
|
7e49033aae | ||
|
|
76bdc90ed8 | ||
|
|
6782b77e69 |
@@ -108,6 +108,34 @@ This can happen if you enter the wrong `serverName` when deploying the SAS progr
|
|||||||
|
|
||||||
The error may also be thrown due to an encoding issue - changing to a UTF-8 server has helped at least one customer.
|
The error may also be thrown due to an encoding issue - changing to a UTF-8 server has helped at least one customer.
|
||||||
|
|
||||||
|
## Displayed timestamps are in UTC (or the wrong timezone)
|
||||||
|
|
||||||
|
Data Controller records timestamps (such as the SUBMITTED column on the Submitted screen, and the audit history) using the SAS session clock, via the `datetime()` function. That function returns the time of the operating system, adjusted by the [TIMEZONE= system option](https://documentation.sas.com/doc/en/pgmsascdc/default/lesysoptsref/p15siqs0s00e50n1wuuvygzkr14r.htm) if it is set. The value is then displayed in the frontend exactly as stored, without conversion.
|
||||||
|
|
||||||
|
On Viya, the SAS compute sessions that run Data Controller jobs are started inside Kubernetes containers whose clock is UTC by default, and which inherit no timezone from the host machine. If the TIMEZONE= option is not set for the compute context used by Data Controller, every timestamp DC records and displays is UTC. Other SAS products can appear unaffected because clients such as SAS Studio create their own compute sessions and pass the browser timezone / locale, whereas Data Controller submits jobs to its own shared compute context, which gets the raw container clock.
|
||||||
|
|
||||||
|
To confirm the current state, run the following in a SAS session under the Data Controller compute context (or check the DC job log, where `_DEBUG` output shows the same values):
|
||||||
|
|
||||||
|
```sas
|
||||||
|
proc options option=timezone;
|
||||||
|
run;
|
||||||
|
%put &=SYSTIMEZONEIDENT &=SYSTIMEZONEOFFSET;
|
||||||
|
```
|
||||||
|
|
||||||
|
If TIMEZONE is blank (and SYSTIMEZONEOFFSET is 0), the session is on UTC. To fix it, ask your Viya administrator to set the timezone for the compute context used by Data Controller (in SAS Environment Manager, edit the context's Autoexec, or set the context's SAS options):
|
||||||
|
|
||||||
|
```sas
|
||||||
|
options timezone='Europe/Berlin';
|
||||||
|
```
|
||||||
|
|
||||||
|
Then recycle any existing compute sessions - hot sessions keep the old setting until they terminate.
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
Use a region/area time zone ID such as `Europe/Berlin` rather than a fixed offset such as `GMT+2`. Fixed offsets do not follow daylight saving time, so the display would be 1 hour off in winter (CET = UTC+1).
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
Changing the timezone affects new timestamps only. Previously recorded submissions keep the UTC values that were stored when they were created.
|
||||||
|
|
||||||
## Determining Application Version
|
## Determining Application Version
|
||||||
|
|
||||||
The app version is bundled into the frontend during the release, and is visible by clicking your username in the top right.
|
The app version is bundled into the frontend during the release, and is visible by clicking your username in the top right.
|
||||||
|
|||||||
@@ -16,6 +16,16 @@ Row and Column level security can also be applied in VIEW mode, as can additiona
|
|||||||
|
|
||||||
A single search box can be used to make a full table search on any character or numeric value, using this [macro](https://core.sasjs.io/mp__searchdata_8sas.html).
|
A single search box can be used to make a full table search on any character or numeric value, using this [macro](https://core.sasjs.io/mp__searchdata_8sas.html).
|
||||||
|
|
||||||
|
The search covers **every** column of the table at once, so you do not need to know which column holds the value you are looking for:
|
||||||
|
|
||||||
|
- **Character search** (the default) is a case sensitive CONTAINS match against every character column, so `Smith` finds `Smithson` and `smith` finds `Goldsmith`, but `smith` will not find `Smithson`.
|
||||||
|
- **Numeric search** (tick the Numeric box) is an exact match against every numeric column, so `42` will not find `420` or `4210`.
|
||||||
|
- If a filter is applied, the search runs within the filtered rows rather than the whole table.
|
||||||
|
- The result set is capped by the [`DC_MAXOBS_WEBVIEW`](/dcc-options/#dc_maxobs_webview) option (500 rows by default). A search that matches more rows than the cap returns the first 500, and the row count shown next to the table name is that capped count, not the total number of matches.
|
||||||
|
- A search that matches nothing shows a "No data found with given conditions" panel rather than an empty grid.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/i27w-xq85WQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/i27w-xq85WQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
Reference in New Issue
Block a user