add Coefficient of Variation to statistics data on data table tab and value metric on charts of insights explorer
This commit is contained in:
@@ -268,7 +268,8 @@ export enum TransactionExplorerValueMetricType {
|
||||
SourceAmountRange = 'sourceAmountRange',
|
||||
SourceAmountInterquartileRange = 'sourceAmountInterquartileRange',
|
||||
SourceAmountVariance = 'sourceAmountVariance',
|
||||
SourceAmountStandardDeviation = 'sourceAmountStandardDeviation'
|
||||
SourceAmountStandardDeviation = 'sourceAmountStandardDeviation',
|
||||
SourceAmountCoefficientOfVariation = 'sourceAmountCoefficientOfVariation'
|
||||
}
|
||||
|
||||
export class TransactionExplorerValueMetric implements NameValue {
|
||||
@@ -286,6 +287,7 @@ export class TransactionExplorerValueMetric implements NameValue {
|
||||
public static readonly SourceAmountInterquartileRange = new TransactionExplorerValueMetric('Interquartile Range (Q3 - Q1)', TransactionExplorerValueMetricType.SourceAmountInterquartileRange, true, true);
|
||||
public static readonly SourceAmountVariance = new TransactionExplorerValueMetric('Variance', TransactionExplorerValueMetricType.SourceAmountVariance, false, false);
|
||||
public static readonly SourceAmountStandardDeviation = new TransactionExplorerValueMetric('Standard Deviation', TransactionExplorerValueMetricType.SourceAmountStandardDeviation, false, false);
|
||||
public static readonly SourceAmountCoefficientOfVariation = new TransactionExplorerValueMetric('Coefficient of Variation', TransactionExplorerValueMetricType.SourceAmountCoefficientOfVariation, false, false);
|
||||
|
||||
public static readonly Default = TransactionExplorerValueMetric.SourceAmountSum;
|
||||
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Kontoliste",
|
||||
"This Week": "Diese Woche",
|
||||
"This Month": "Dieser Monat",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Account List",
|
||||
"This Week": "This Week",
|
||||
"This Month": "This Month",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Lista de Cuentas",
|
||||
"This Week": "Esta Semana",
|
||||
"This Month": "Este Mes",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Liste des comptes",
|
||||
"This Week": "Cette semaine",
|
||||
"This Month": "Ce mois",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Elenco account",
|
||||
"This Week": "Questa settimana",
|
||||
"This Month": "Questo mese",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "口座リスト",
|
||||
"This Week": "今週",
|
||||
"This Month": "今月",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "ಖಾತೆಗಳ ಪಟ್ಟಿ",
|
||||
"This Week": "ಈ ವಾರ",
|
||||
"This Month": "ಈ ತಿಂಗಳು",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "계좌 목록",
|
||||
"This Week": "이번 주",
|
||||
"This Month": "이번 달",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Rekeningenlijst",
|
||||
"This Week": "Deze week",
|
||||
"This Month": "Deze maand",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Lista de Contas",
|
||||
"This Week": "Esta Semana",
|
||||
"This Month": "Este Mês",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Список счетов",
|
||||
"This Week": "На этой неделе",
|
||||
"This Month": "В этом месяце",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Seznam računov",
|
||||
"This Week": "Ta teden",
|
||||
"This Month": "Ta mesec",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "கணக்குகளின் பட்டியல்",
|
||||
"This Week": "இந்த வாரம்",
|
||||
"This Month": "இந்த மாதம்",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "รายการบัญชี",
|
||||
"This Week": "สัปดาห์นี้",
|
||||
"This Month": "เดือนนี้",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Hesap Listesi",
|
||||
"This Week": "Bu Hafta",
|
||||
"This Month": "Bu Ay",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Список рахунків",
|
||||
"This Week": "Цього тижня",
|
||||
"This Month": "Цього місяця",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "Interquartile Range (Q3 - Q1)",
|
||||
"Variance": "Variance",
|
||||
"Standard Deviation": "Standard Deviation",
|
||||
"Coefficient of Variation": "Coefficient of Variation",
|
||||
"Account List": "Danh sách tài khoản",
|
||||
"This Week": "Tuần này",
|
||||
"This Month": "Tháng này",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "四分位距 (Q3 - Q1)",
|
||||
"Variance": "方差",
|
||||
"Standard Deviation": "标准差",
|
||||
"Coefficient of Variation": "变异系数",
|
||||
"Account List": "账户列表",
|
||||
"This Week": "本周",
|
||||
"This Month": "本月",
|
||||
|
||||
@@ -1792,6 +1792,7 @@
|
||||
"Interquartile Range (Q3 - Q1)": "四分位距 (Q3 - Q1)",
|
||||
"Variance": "變異數",
|
||||
"Standard Deviation": "標準差",
|
||||
"Coefficient of Variation": "變異係數",
|
||||
"Account List": "帳戶清單",
|
||||
"This Week": "本週",
|
||||
"This Month": "本月",
|
||||
|
||||
+19
-9
@@ -128,6 +128,7 @@ export interface InsightsExplorerTransactionStatisticData {
|
||||
interquartileRange: number;
|
||||
variance?: number;
|
||||
standardDeviation?: number;
|
||||
coefficientOfVariation?: number;
|
||||
}
|
||||
|
||||
export const useExplorersStore = defineStore('explorers', () => {
|
||||
@@ -623,7 +624,8 @@ export const useExplorersStore = defineStore('explorers', () => {
|
||||
range: 0,
|
||||
interquartileRange: 0,
|
||||
variance: undefined,
|
||||
standardDeviation: undefined
|
||||
standardDeviation: undefined,
|
||||
coefficientOfVariation: undefined
|
||||
};
|
||||
|
||||
const sourceAmounts: number[] = [];
|
||||
@@ -701,6 +703,7 @@ export const useExplorersStore = defineStore('explorers', () => {
|
||||
const sumOfSquaredDifferences: number = sourceAmounts.reduce((sum, amount) => sum + Math.pow(amount / 100.0 - averageAmountForVarianceCalculation, 2), 0);
|
||||
statisticData.variance = sumOfSquaredDifferences / sourceAmounts.length;
|
||||
statisticData.standardDeviation = Math.sqrt(statisticData.variance);
|
||||
statisticData.coefficientOfVariation = averageAmountForVarianceCalculation !== 0 ? statisticData.standardDeviation / averageAmountForVarianceCalculation : undefined;
|
||||
}
|
||||
|
||||
return statisticData;
|
||||
@@ -851,14 +854,21 @@ export const useExplorersStore = defineStore('explorers', () => {
|
||||
} else {
|
||||
value = 0;
|
||||
}
|
||||
} else if (valueMetric === TransactionExplorerValueMetric.SourceAmountVariance) {
|
||||
const averageSourceAmountInDefaultCurrency = allSourceAmountsInDefaultCurrency.length > 0 ? totalSourceAmountSumInDefaultCurrency / allSourceAmountsInDefaultCurrency.length / 100.0 : 0;
|
||||
const sumOfSquaredDifferences = allSourceAmountsInDefaultCurrency.reduce((sum, amount) => sum + Math.pow(amount / 100.0 - averageSourceAmountInDefaultCurrency, 2), 0);
|
||||
value = allSourceAmountsInDefaultCurrency.length > 0 ? sumOfSquaredDifferences / allSourceAmountsInDefaultCurrency.length : 0;
|
||||
} else if (valueMetric === TransactionExplorerValueMetric.SourceAmountStandardDeviation) {
|
||||
const averageSourceAmountInDefaultCurrency = allSourceAmountsInDefaultCurrency.length > 0 ? totalSourceAmountSumInDefaultCurrency / allSourceAmountsInDefaultCurrency.length / 100.0 : 0;
|
||||
const sumOfSquaredDifferences = allSourceAmountsInDefaultCurrency.reduce((sum, amount) => sum + Math.pow(amount / 100.0 - averageSourceAmountInDefaultCurrency, 2), 0);
|
||||
value = allSourceAmountsInDefaultCurrency.length > 0 ? Math.sqrt(sumOfSquaredDifferences / allSourceAmountsInDefaultCurrency.length) : 0;
|
||||
} else if (valueMetric === TransactionExplorerValueMetric.SourceAmountVariance || valueMetric === TransactionExplorerValueMetric.SourceAmountStandardDeviation || valueMetric === TransactionExplorerValueMetric.SourceAmountCoefficientOfVariation) {
|
||||
if (allSourceAmountsInDefaultCurrency.length > 0) {
|
||||
const averageSourceAmountInDefaultCurrency = totalSourceAmountSumInDefaultCurrency / allSourceAmountsInDefaultCurrency.length / 100.0;
|
||||
const sumOfSquaredDifferences = allSourceAmountsInDefaultCurrency.reduce((sum, amount) => sum + Math.pow(amount / 100.0 - averageSourceAmountInDefaultCurrency, 2), 0);
|
||||
|
||||
if (valueMetric === TransactionExplorerValueMetric.SourceAmountVariance) {
|
||||
value = sumOfSquaredDifferences / allSourceAmountsInDefaultCurrency.length
|
||||
} else if (valueMetric === TransactionExplorerValueMetric.SourceAmountStandardDeviation) {
|
||||
value = Math.sqrt(sumOfSquaredDifferences / allSourceAmountsInDefaultCurrency.length);
|
||||
} else if (valueMetric === TransactionExplorerValueMetric.SourceAmountCoefficientOfVariation) {
|
||||
value = averageSourceAmountInDefaultCurrency !== 0 ? Math.sqrt(sumOfSquaredDifferences / allSourceAmountsInDefaultCurrency.length) / averageSourceAmountInDefaultCurrency : 0;
|
||||
}
|
||||
} else {
|
||||
value = 0;
|
||||
}
|
||||
}
|
||||
|
||||
dataItems.push({
|
||||
|
||||
@@ -104,6 +104,10 @@
|
||||
<td>{{ tt('Standard Deviation') }}</td>
|
||||
<td class="text-end">{{ isDefined(filteredTransactionsStatistic.standardDeviation) ? formatNumberToLocalizedNumerals(filteredTransactionsStatistic.standardDeviation, 2) : '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ tt('Coefficient of Variation') }}</td>
|
||||
<td class="text-end">{{ isDefined(filteredTransactionsStatistic.coefficientOfVariation) ? formatNumberToLocalizedNumerals(filteredTransactionsStatistic.coefficientOfVariation, 2) : '-' }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</v-table>
|
||||
</v-tooltip>
|
||||
|
||||
Reference in New Issue
Block a user