...
Die Abfrage basiert auf der bei Kunden üblich eingesetzten Pivot-View. Es werden aber Fremdschlüssel ausgegeben.
Anforderungen
Die Anforderungen an statistische Daten sind für den Aussendienst sehr zentral. Im MVP des Aussendienstportals sind verschiedene Perspektiven auf statistische Daten vorgehesen. Diese werden nachfolgend beschrieben.
Perspektive | Kontext | Beschreibung | Datenbasis |
---|
Performance-Indikator | Kunden-Dashboard | Monatliche Umsatzentwicklung mit Vorjahresvergleich des ausgewählten Kunden | SQLView_vf_performanceindicator |
Topsellers | Kunden-Dashboard | Top 5 Artikel gemäss Umsatz | SQLView_vf_topsellers |
Bezüge | Detailansicht | Alle bezogenen Artikel des ausgewählten Kunden verdichtet pro Artikel. Zeitraum wählbar nach 30, 90, 180, 365 und 720 Tagen oder benutzerdefinierter Zeitraum → DrilldownFunktion auf einzelne Bewegung wünschenswert nicht möglich aus Performance-Gründen | SQLView_vf_sales |
Performance Indikator und Topseller sind auch denkbar für System-Dashboard
Performance-Indikator
- Auf dem System-Dashboard sieht der Aussendienst seine Umsatzentwicklung der letzten 12 Monate pro Monat mit Vorjahresvergleich über all seine Kunden
- Auf dem Kunden-Dashboard sieht der Aussendienst seine Umsatzentwicklung der letzten 12 Monate pro Monat mit Vorjahresvergleich für den spezifischen Kunden
- Monate ohne Umsatz sollen erscheinen ohne Umsatzbalken
Verworfen in Phase 1
- Ein Filter auf der Statistik, mit welchem man zum Beispiel nach Artikeltyp selektionieren kann
- Ein Auswahlmöglichen, mit welchem man andere Daten anstelle des Umsatzes anzeigen kann (z.B. Menge, Liter, Deckungsbeitrag)
Mockup Performance Indikator
Drawio |
---|
border | 1 |
---|
zoom | 1 |
---|
pageId | 12812368 |
---|
custContentId | 19891352 |
---|
lbox | 1 |
---|
diagramDisplayName | Mockup Statistik Dashboard |
---|
contentVer | 1 |
---|
revision | 7 |
---|
baseUrl | https://i-ag.atlassian.net/wiki |
---|
diagramName | Mockup Statistik Dashboard |
---|
width | 1183 |
---|
links | auto |
---|
tbstyle | top |
---|
|
Field Mapping Performance-Indikator
SELECT DISTINCT
View_field | Entity.attribute | type | Description | DE | FR | IT | EN |
---|
AddressId | Bewegung.Bew_AdresseID | foreign key | ID der Adresse |
|
|
|
|
Delivery_month |
Code Block |
---|
title | vf_performanceindicator.DeliveryMonth |
---|
collapse | true |
---|
| MONTH( Bewegung.Bew_Datum ) |
|
| Monat vom Lieferdatum | Monat | Mois | Mese | Month |
Delivery_year |
Code Block |
---|
title | vf_performanceindicator.DeliveryYear |
---|
collapse | true |
---|
| YEAR( Bewegung.Bew_Datum ) |
|
| Jahr vom Lieferdatum | Jahr | Année | Anno | Year |
Quantity |
Code Block |
---|
title | vf_topsellers.quantity |
---|
collapse | true |
---|
| SUM (IF (Bewegung.Bew_Anrechenbar IN (0,3)) THEN (IsNull(Bewegung.Bew_Menge,0)) ELSE 0 ENDIF) |
|
| Summe der Mengen | Menge | Quantité | Quantità | Quantity |
Selling_amount |
Code Block |
---|
title | vf_topsellers.selling_amount |
---|
collapse | true |
---|
| SUM (IF (Bewegung.Bew_Anrechenbar IN (0,2)) THEN (IsNull(Bewegung.Bew_NettoErloes,Bewegung.Bew_Menge * Bewegung.Bew_Preis)) ELSE 0 ENDIF) |
|
| Summe des Nettoerlöses | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Filter
| DB | View | Value |
---|
where | Bewegung.Bew_Vorgang | Process | -2 |
and | Bewegung.Bew_AdresseID | AddressId | is not null |
and | Bewegung.Bew_GegenBewegungId | - | is null |
and | Bewegung.Bew_Datum |
| >= CURRENT DATE - 730 |
Group by Klausel
AddressId |
DeliveryMonth |
DeliveryYear |
Order by Klausel
Topsellers
- Auf dem System-Dashboard sieht der Aussendiest die 10 Topseller aller seiner Kunden.
- Auf dem Kunden-Dashboard sieht der Aussendienst die 5 Topseller des entsprechenden Kunden
Mockup Topsellers
Image Added
Field Mapping Topsellers
SELECT DISTINCT
View_field | Entity.attribute | type | Description | DE | FR | IT | EN |
---|
ArticleId | Bewegung.Bew_ArtikelID | foreign key | ID des Artikels |
|
|
|
|
AddressId | Bewegung.Bew_AdresseID | foreign key | ID der Adresse |
Unit_size_cl | Abfuellung.Abf_InhaltInCl | numeric | Flaschengrösse in Zentiliter (cl), default 1 |
Statistic_relevance | Bewegung.Bew_Anrechenbar | integer | 0 = Umsatz und Menge 2 = Nur Umsatz 3 = Nur Menge (Gratiswaren) |
Delivery_date | Bewegung.Bew_Datum | date | Lieferdatum gemäss Datum Lieferschein |
Delivery_month |
|
|
|
|
Quantity |
Code Block |
---|
title | vf_topsellers.quantity |
---|
collapse | true |
---|
| SUM (IF (Bewegung.Bew_Anrechenbar IN (0,3)) THEN (IsNull(Bewegung.Bew_Menge,0)) ELSE 0 ENDIF) |
|
| Summe der Mengen | Menge | Quantité | Quantità | Quantity |
Selling_amount |
Code Block |
---|
title | vf_topsellers.selling_amount |
---|
collapse | true |
---|
| SUM (IF (Bewegung.Bew_Anrechenbar IN (0,2)) THEN (IsNull(Bewegung.Bew_NettoErloes,Bewegung.Bew_Menge * Bewegung.Bew_Preis)) ELSE 0 ENDIF) |
|
| Summe des Nettoerlöses | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Filter
| DB | View | Value |
---|
where | Bewegung.Bew_Vorgang | Process | -2 |
and | Bewegung.Bew_AdresseID | AddressId | is not null |
and | Bewegung.Bew_GegenBewegungId | - | is null |
and | Bewegung.Bew_Datum |
| >= CURRENT DATE - 365 |
Group by Klausel
Order by Klausel
Bezüge
Mockup Bezüge
Image Added
Field Mapping Bezüge
View_field | Entity.attribute | type | Description | DE | FR | IT | EN |
---|
ArticleId | Bewegung.Bew_ArtikelID | foreign key | ID des Artikels |
|
|
|
|
AddressId | Bewegung.Bew_AdresseID | foreign key | ID der Adresse |
|
|
|
|
ArticleName | Artikel.Art_Bezeichnung | string | Artikel Bezeichnung | Bezeichnung | Description |
| Description |
Vintage | Artikel.Art_Jahrgang | integer | Jahrgang | Jahrgang | Millésime |
| Vintage |
Volume | Artikel.Art_Volumen | integer | Volumen | Volumen | Degré d'alcool |
| Volume |
Filling | Abfuellung.Abf_Kuerzel | string,20 | Abfüllung | Abfüllung | Condionnement |
| Filling |
Packaging | Grossgebinde.Gross_Kuerzel | string,20 | Grossgebinde | Grossgebinde | Emballage |
| Packaging |
ArticleCategory | Artikelkategorie.ArtKat_Bezeichnung | string,40 | Artikelkategorie | Artikelkategorie | Catégorie d'article |
| Article Category |
ArticleType | Artikelkategorie.ArtKat_TypBezeichnung | string,30 | Artikeltyp | Artikeltyp | Type d'article |
| Article Type |
Manufacturer | Produzent.Prod_Bezeichnung | string,50 | Produzent | Produzent | Producteur |
| Producer |
Region | Region.Reg_Bezeichnung | string,40 | Region | Region | Région |
| Region |
Country | Land.Land_Bezeichnung | string,40 | Land | Land | Pays |
| Country |
ProductCycle | Zyklus.Zyk_Bezeichnung | string.,40 | Produktzyklus | Produktzyklus | Cycle du produit |
| Product cycle |
AddressSurname | Adresse.Adr_Name | string,50 | Name | Name | Nom |
| Surname |
AddressName | Adresse.Adr_Vorname | string,25 | Vorname | Vorname | Prénom |
| Name |
AddressAdd | Adresse.Adr_Zusatz1 | string,30 | Zusatz 1 | Zusatz 1 | Additiv au nom 1 |
| Additional Name 1 |
AddressZIP | Adresse.Adr_PLZ | string,10 | PLZ | PLZ | NPA |
| ZIP |
AddressPlace | Adresse.Adr_Ort | string,30 | Ort | Ort | Lieu |
| Place |
AddressCategory | Kundenkategorie.KundKat_Bezeichnung | string,40 | Kundenkategorie | Kundenkategorie | Catégorie de clients |
| Customer category |
PriceGroup | KundengruppePreis.KundPreis_Bezeichnung | string,40 | Preisgruppe | Preisgruppe | Groupe de prix |
| Price groupe |
Enterprise | Konzern.Konz_Bezeichnung | string,40 | Kette / Konzern | Kette / Konzern | Chaîne / groupe |
| Chain / Enterprise |
Quantity_unit_30 | |
Berechnung Delivery_monthQuantity_unit_30 | collapse | true |
---|
|
|
monthSELECT SUM ( Bewegung.Bew_Menge )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum |
|
integer | Monat der Lieferung | Delivery_year >= ( CURRENT DATE - 30 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Menge Stück/Flasche letzte 30 Tage | Menge Abfüllung | Quantité Conditionnement | Quantità Imbottigliamento | Quantity Filling |
Quantity_unit_90 | |
Berechnung Delivery_yearQuantity_unit_90 | collapse | true |
---|
|
|
yearSELECT SUM ( Bewegung.Bew_Menge )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum |
|
integer | Jahr der Lieferung | Billing_date | Bewegung.Bew_AbgerechnetAm | date | Rechnungsdatum gemäss Datum der Rechnung |
Billing_month >= ( CURRENT DATE - 90 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
|
| Menge Stück/Flasche letzte 90 Tage | Menge Abfüllung | Quantité Conditionnement | Quantità Imbottigliamento | Quantity Filling |
Quantity_unit_180 | |
Berechnung Billing_monthBilling_yearQuantity_unit_180 | collapse | true |
---|
|
|
month Bewegung.Bew_AbgerechnetAm |
integer | Monat der Rechnung | SELECT SUM ( Bewegung.Bew_Menge )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 180 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
|
| Menge Stück/Flasche letzte 180 Tage | Menge Abfüllung | Quantité Conditionnement | Quantità Imbottigliamento | Quantity Filling |
Quantity_unit_365 | |
Berechnung Billing_yearQuantity_litreQuantity_unit_365 | collapse | true |
---|
|
|
year Bewegung.Bew_AbgerechnetAm |
integer | Jahr der Rechnung | Quantity_unit | Bewegung.Bew_Menge | numeric | Menge Stück/Flasche |
Quantity_package | Bewegung.Bew_MengeGG | numeric | Menge Grossgebinde |
SELECT SUM ( Bewegung.Bew_Menge )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 365 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
|
| Menge Stück/Flasche letzte 365 Tage | Menge Abfüllung | Quantité Conditionnement | Quantità Imbottigliamento | Quantity Filling |
Quantity_unit_730 |
Code Block |
---|
language | sql |
---|
title | Quantity_unit_730 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Menge )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 730 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
|
| Menge Stück/Flasche letzte 730 Tage | Menge Abfüllung | Quantité Conditionnement | Quantità Imbottigliamento | Quantity Filling |
Selling_amount_30 |
Code Block |
---|
language | sql |
---|
title | Selling_amount_30 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Nettoerloes )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 30 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Gesamtbetrag Verkauf letzte 30 Tage | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Selling_amount_90 | |
Berechnung Quantity_litreQuantity_freeSelling_amount_90 | collapse | true |
---|
|
|
Quantity_unit * ( Unit_size_cl / 100 ) |
numeric | Menge in Liter | SELECT SUM ( Bewegung.Bew_Nettoerloes )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 90 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Gesamtbetrag Verkauf letzte 90 Tage | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Selling_amount_180 | |
Berechnung Quantity_freeProcess | Bewegung.Bew_Vorgang | integer | ist immer -2 = Warenausgang |
Selling_price | Bewegung.Bew_Preis | numeric | Verkaufspreis |
Selling_amount | Bewegung.Bew_Nettoerloes | numeric | Gesamtbetrag Verkauf |
Valuation_price_at_sale | Bewegung.Bew_Einstandspreis | numeric | Bewertungspreis zum Zeitpunkt des Verkaufs |
Valuation_price_current | Artikel.Art_LagerPreis | numeric | Aktueller Bewertungspreis gemäss Artikel |
Purchase_price | EKPreis.EK_Einstandspreis | numeric | Aktueller Einstandspreis gemäss gültigem Einkaufspreis zum Artikel |
Purchase_valueSelling_amount_180 | collapse | true |
---|
|
|
if Statistic_relevance = 3 then Quantity_unit |
numeric | Menge Gratisware | SELECT SUM ( Bewegung.Bew_Nettoerloes )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 180 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Gesamtbetrag Verkauf letzte 180 Tage | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Selling_amount_365 |
Code Block |
---|
language | sql |
---|
title | Selling_amount_365 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Nettoerloes )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 365 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Gesamtbetrag Verkauf letzte 365 Tage | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Selling_amount_730 |
Code Block |
---|
language | sql |
---|
title | Selling_amount_730 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Nettoerloes )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 730 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Gesamtbetrag Verkauf letzte 730 Tage | Umsatz | Chiffre d'affaires | Fatturato | Turnover |
Purchase_value_30 |
Code Block |
---|
language | sql |
---|
title | Purchase_value_30 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 30 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Einkaufswert letzte 30 Tage
| Einkaufswert | Valeur d'achat | Valore di acquisto | Purchase value |
Purchase_value_90 |
Code Block |
---|
language | sql |
---|
title | Purchase_value_90 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 90 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Einkaufswert letzte 90 Tage
| Einkaufswert | Valeur d'achat | Valore di acquisto | Purchase value |
Purchase_value_180 | |
Berechnung Purchase_value_180 | collapse | true |
---|
|
|
Quantity_unit * ( IsNull
SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 180 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID |
|
(IsNullAddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2,3)
|
|
( Valuation_price_at_sale, Purchase_price )
Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Einkaufswert letzte 180 Tage
| Einkaufswert | Valeur d'achat | Valore di acquisto | Purchase value |
Purchase_value_365 |
Code Block |
---|
language | sql |
---|
title | Purchase_value_365 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 365 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2,3)
AND IsNull(Bewegung.Bew_GegenBewegungID, |
|
Valuation_price_current
| numeric | Einkaufswert letzte 365 Tage
| Einkaufswert | Valeur d'achat | Valore di acquisto | Purchase value |
Purchase_value_730 |
Code Block |
---|
language | sql |
---|
title | Purchase_value_720 |
---|
collapse | true |
---|
| SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis )
FROM VinX.Bewegung
WHERE Bewegung.Bew_Datum >= ( |
|
), 0CURRENT DATE - 730 )
AND Bewegung.Bew_ArtikelID = ArticleId
AND Bewegung.Bew_AdresseID = AddressId
AND Bewegung.Bew_Vorgang = (0-2)
AND Bewegung.Bew_Anrechenbar IN (0,2,3)
AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0 |
| numeric | Einkaufswert letzte 730 Tage
| Einkaufswert |
zu- Valuation_price_at_sale
- default Purchase_price
- default Valuation_price_current
- default 0
Profit_margin | Valeur d'achat | Valore di acquisto | Purchase value |
Profit_margin_30 Profit_margin_90 Profit_margin_180 Profit_margin_365 Profit_margin_730 | |
Berechnung vf_statistics.Profit_margin | collapse | true |
---|
| Profit_margin_30 = Selling_amount_30 - Purchase_value_30,
Profit_margin_90 = Selling_amount_90 - Purchase_value_90,
Profit_margin_180 = Selling_amount_180 - Purchase_value_180,
Profit_margin_365 = Selling_amount_365 - Purchase_value_365,
Profit_margin_730 = Selling_amount_730 - Purchase_value_730, |
| numeric | Deckungsbeitrag / Marge des Verkaufs in CHF letzte 30 Tage letzte 90 Tage letzte 180 Tage letzte 365 Tage letzte 730 Tage
| DB in CHF | Marge en CHF | Margine in CHF | Margin in CHF |
Profit_margin_ |
percentagepercentage_30 Profit_margin_percentage_90 Profit_margin_percentage_180 Profit_margin_percentage_365 Profit_margin_percentage_730
| |
Berechnung vf_statistics.Profit_margin_percentage | collapse | true |
---|
|
|
(ifProfit_margin_percentage_30=(IF (Selling_amount_30 <> 0) THEN (Profit_margin_30 / Selling_amount_30 ) ELSE 0 ENDIF),
Profit_margin_percentage_90=(IF (Selling_amount_90 <> 0) THEN (Profit_margin_90 / Selling_amount_90 ) ELSE 0 ENDIF),
Profit_margin_percentage_180=(IF (Selling_amount_180 <> 0) THEN (Profit_margin_180 / Selling_amount_180 ) ELSE 0 ENDIF),
Profit_margin_percentage_365=(IF (Selling_amount_365 <> 0) THEN (Profit_margin_365 / Selling_amount_365 ) ELSE 0 ENDIF),
Profit_margin_percentage_730=(IF (Selling_amount_730 <> 0) |
|
thenTHEN (Profit_margin_730 / Selling_amount_730 ) |
|
elseendif | numeric | Deckungsbeitrag / Marge des Verkaufs in Prozent % letzte 30 Tage letzte 90 Tage letzte 180 Tage letzte 365 Tage letzte 730 Tage | DB in % | Marge en % | Margin in % | Margin in % |
Filter
| DB | View | Value |
---|
where | Bewegung.Bew_Vorgang | Process | -2 |
and | Bewegung.Bew_AdresseID | AddressId | is not null |
and | Bewegung.Bew_GegenBewegungId | - | is null |
and | Bewegung.Bew_Datum |
| CURRENT DATE - 730 |
Group by
Order by
AddressId ASC |
ArticleId ASC |
Anhang
Modellerweiterung ViewVinX_mfstatitics mit Definition für View vf_statistics
View file |
---|
name | ViewVinX_vfstatistics.txt |
---|
height | 250 |
---|
|