= ({
-
- {col.columnMetrics
- .filter((m) => !excludedMetrics.includes(m.key))
- .map((m, i) => (
+ {col.columnMetrics.length ? (
+
+ {col.columnMetrics.map((m, i) => (
{m.key}
-
- {m.value}
+
+ {getRoundedValue(m.value)}
+
))}
-
+
+ ) : (
+ `No metrics available`
+ )}
|
= ({
data-testid="tableBody-cell">
{col.columnTests ? (
-
+
{col.columnTests.map((m, i) => (
@@ -230,7 +257,9 @@ const TableProfiler: FC = ({
)}
-
+ qualityTestFormHandler(6)}>
{m.testCase.columnTestType}
@@ -263,6 +292,7 @@ const TableProfiler: FC = ({
}
)}
size="custom"
+ theme="primary"
type="button"
variant="outlined"
onClick={() =>
diff --git a/openmetadata-ui/src/main/resources/ui/src/components/app-bar/Appbar.tsx b/openmetadata-ui/src/main/resources/ui/src/components/app-bar/Appbar.tsx
index b3049de1f06..8b580e80cd8 100644
--- a/openmetadata-ui/src/main/resources/ui/src/components/app-bar/Appbar.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/components/app-bar/Appbar.tsx
@@ -24,6 +24,7 @@ import { getVersion } from '../../axiosAPIs/miscAPI';
import {
getExplorePathWithSearch,
getTeamDetailsPath,
+ getUserPath,
navLinkSettings,
ROUTES,
} from '../../constants/constants';
@@ -149,7 +150,10 @@ const Appbar: React.FC = (): JSX.Element => {
return (
- {name}
+
+ {' '}
+ {name}
+
{(roles?.length ?? 0) > 0 ? (
diff --git a/openmetadata-ui/src/main/resources/ui/src/constants/profiler.constant.ts b/openmetadata-ui/src/main/resources/ui/src/constants/profiler.constant.ts
index 8ce867b230d..73f244fc7d1 100644
--- a/openmetadata-ui/src/main/resources/ui/src/constants/profiler.constant.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/constants/profiler.constant.ts
@@ -20,4 +20,7 @@ export const excludedMetrics = [
'uniqueProportion',
'rows',
'histogram',
+ 'missingCount',
+ 'missingPercentage',
+ 'distinctProportion',
];
diff --git a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts
index a68a70b94ed..e52db89f19c 100644
--- a/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts
+++ b/openmetadata-ui/src/main/resources/ui/src/generated/entity/data/table.ts
@@ -632,6 +632,8 @@ export interface ColumnProfile {
minLength?: number;
maxLength?: number;
+
+ distinctProportion?: number;
}
export interface HistogramObject {
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/DatasetDetailsPage/DatasetDetailsPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/DatasetDetailsPage/DatasetDetailsPage.component.tsx
index f4cb0614ff6..ca906d83945 100644
--- a/openmetadata-ui/src/main/resources/ui/src/pages/DatasetDetailsPage/DatasetDetailsPage.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/pages/DatasetDetailsPage/DatasetDetailsPage.component.tsx
@@ -193,11 +193,13 @@ const DatasetDetailsPage: FunctionComponent = () => {
const qualityTestFormHandler = (
tabValue: number,
- testMode: DatasetTestModeType
+ testMode?: DatasetTestModeType
) => {
activeTabHandler(tabValue);
- setTestMode(testMode);
- setShowTestForm(true);
+ if (testMode) {
+ setTestMode(testMode);
+ setShowTestForm(true);
+ }
};
const getLineageData = () => {
diff --git a/openmetadata-ui/src/main/resources/ui/src/pages/RolesPage/RolesPage.component.tsx b/openmetadata-ui/src/main/resources/ui/src/pages/RolesPage/RolesPage.component.tsx
index d725a023c34..6425de7957e 100644
--- a/openmetadata-ui/src/main/resources/ui/src/pages/RolesPage/RolesPage.component.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/pages/RolesPage/RolesPage.component.tsx
@@ -410,7 +410,7 @@ const RolesPage = () => {
return (
Default
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx
index 0e9fa2de49e..4c28ca27822 100644
--- a/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/CommonUtils.tsx
@@ -485,7 +485,7 @@ export const getRandomColor = (name: string) => {
const b = num & 255;
return {
- color: 'rgb(' + r + ', ' + g + ', ' + b + ', 0.3)',
+ color: 'rgb(' + r + ', ' + g + ', ' + b + ', 0.6)',
character: firstAlphabet.toUpperCase(),
};
};
diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ProfilerUtils.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ProfilerUtils.ts
new file mode 100644
index 00000000000..87a588ba0db
--- /dev/null
+++ b/openmetadata-ui/src/main/resources/ui/src/utils/ProfilerUtils.ts
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2021 Collate
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { HistogramObject } from '../generated/entity/data/table';
+
+export const getRoundedValue = (
+ value:
+ | string
+ | number
+ | boolean
+ | Date
+ | HistogramObject
+ | null
+ | undefined
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ | any[]
+) => {
+ if (typeof value == 'number' && !isNaN(value)) {
+ if (Number.isInteger(value)) {
+ return value;
+ } else {
+ return value.toFixed(2);
+ }
+ } else {
+ return value;
+ }
+};
|