Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Die Abfrage basiert auf der bei Kunden üblich eingesetzten Pivot-View. Es werden aber Fremdschlüssel ausgegeben.

Expand
titleContent

Table of Contents


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.

PerspektiveKontextBeschreibungDatenbasis
Performance-IndikatorKunden-DashboardMonatliche Umsatzentwicklung mit Vorjahresvergleich des ausgewählten KundenSQLView_vf_performanceindicator
TopsellersKunden-DashboardTop 5 Artikel gemäss UmsatzSQLView_vf_topsellers
Sortiment
BezügeDetailansicht

Alle bezogenen Artikel des ausgewählten Kunden verdichtet pro Artikel. Zeitraum wählbar nach 30, 90

oder

, 180, 365 und 720 Tagen oder benutzerdefinierter Zeitraum

Drilldown-Funktion

DrilldownFunktion auf einzelne Bewegung wünschenswert nicht möglich aus Performance-Gründen

SQLView_vf_
statistics
sales

Performance Indikator und Topseller sind auch denkbar für System-Dashboard

Performance-Indikator

...

  • Auf dem

...

  • System-

...

  • Dashboard sieht der Aussendienst

...

Folgende zusätzlichen Möglichkeiten wären wünschenswert:

  • Jahresumsatz mit Vorjahresvergleich
  • Auswahlmöglichkeit, ob Umsatz, Menge, Liter oder Deckungsbeitrag angezeigt werden soll
  • Auswahlmöglichkeit, welcher Artikeltyp angezeigt werden soll

...

  • 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
false
bordertruediagramName1
zoom1
pageId12812368
custContentId19891352
lbox1
diagramDisplayNameMockup Statistik DashboardsimpleViewer
contentVer1
revision7
baseUrlhttps://i-ag.atlassian.net/wiki
diagramNameMockup Statistik Dashboard
width1183
linksauto
tbstyletop
lboxtrue
diagramWidth1183
revision3

Field Mapping Performance-Indikator

Topsellers

Auf dem Kunden_Dashboard sieht der Aussendienst, was die 5 Topseller des Kunden sind.

Mockup Topsellers

Field Mapping Sortiment

Sortiment

Mockup Sortiment

Field Mapping Sortiment

Field Mapping Performance-Indikator

SELECT DISTINCT

View_fieldEntity.attributetypeDescriptionDEFRITEN
AddressIdBewegung.Bew_AdresseIDforeign keyID der Adresse



Delivery_month


Code Block
titlevf_performanceindicator.DeliveryMonth
collapsetrue
MONTH( Bewegung.Bew_Datum )



Monat vom LieferdatumMonatMoisMeseMonth
Delivery_year


Code Block
titlevf_performanceindicator.DeliveryYear
collapsetrue
YEAR( Bewegung.Bew_Datum )



Jahr vom LieferdatumJahrAnnéeAnnoYear
Quantity


Code Block
titlevf_topsellers.quantity
collapsetrue
SUM (IF (Bewegung.Bew_Anrechenbar IN (0,3)) THEN (IsNull(Bewegung.Bew_Menge,0)) ELSE 0 ENDIF)



Summe der MengenMengeQuantitéQuantitàQuantity
Selling_amount


Code Block
titlevf_topsellers.selling_amount
collapsetrue
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ösesUmsatzChiffre d'affairesFatturatoTurnover

Filter


DBViewValue
whereBewegung.Bew_VorgangProcess-2
andBewegung.Bew_AdresseIDAddressIdis not null
andBewegung.Bew_GegenBewegungId-is null
andBewegung.Bew_Datum
>= CURRENT DATE - 730

Group by Klausel

AddressId
DeliveryMonth
DeliveryYear

Order by Klausel

Selling_amount

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

OrderPositionId
View_fieldEntity.attributetypeDescriptionDEFRITEN
ArticleIdBewegung.Bew_ArtikelIDforeign keyID des Artikels



AddressIdBewegung.Bew_AdresseIDforeign keyID der Adresse
OrderIdBewegung.Bew_BelegIDforeign keyID des Belegs




Quantity


Code Block
titlevf_topsellers.quantity
collapsetrue
SUM (IF (Bewegung.Bew_Anrechenbar IN (0,3)) THEN (IsNull(Bewegung.Bew_Menge,0)) ELSE 0 ENDIF)



Summe der MengenMengeQuantitéQuantitàQuantity
Selling_amount


Code Block
titlevf_topsellers.selling_amount
collapsetrue
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ösesUmsatzChiffre d'affairesFatturatoTurnover

Filter


DBViewValue
whereBewegung.Bew_VorgangProcess-2
andBewegung.Bew_AdresseIDAddressIdis not null
andBewegung.Bew_GegenBewegungId-is null
andBewegung.Bew_Datum
>= CURRENT DATE - 365

Group by Klausel

ArticleId
AddressId

Order by Klausel

Selling_amount

Bezüge

Mockup Bezüge

Image Added


Field Mapping Bezüge

BelegID der ArtiklepositionWarehouseIdLagerID des LagersBerechnung Delivery_monthMONTHDelivery_yearBerechnung Delivery_yearYEARBilling_monthBerechnung Billing_monthBilling_yearBerechnung Billing_yearYEARAbgerechnetAm
View_fieldEntity.attributetypeDescriptionDEFRITEN
ArticleIdBewegung.Bew_ArtikelIDforeign keyID des Artikels



AddressIdBewegung.Bew_AdresseIDforeign keyID
Unit_size_clAbfuellung.Abf_InhaltInClnumericFlaschengrösse in Zentiliter (cl), default 1
Statistic_relevanceBewegung.Bew_Anrechenbarinteger

0 = Umsatz und Menge

2 = Nur Umsatz

3 = Nur Menge (Gratiswaren)

Delivery_noBewegung.Bew_BelegNrintegerLieferschein-Nr
Delivery_dateBewegung.Bew_DatumdateLieferdatum gemäss Datum Lieferschein
Delivery_monthder Adresse



ArticleNameArtikel.Art_BezeichnungstringArtikel BezeichnungBezeichnungDescription
Description

Vintage

Artikel.Art_JahrgangintegerJahrgangJahrgangMillésime
Vintage
VolumeArtikel.Art_VolumenintegerVolumenVolumenDegré d'alcool
Volume
FillingAbfuellung.Abf_Kuerzelstring,20AbfüllungAbfüllungCondionnement
Filling
PackagingGrossgebinde.Gross_Kuerzelstring,20GrossgebindeGrossgebindeEmballage
Packaging
ArticleCategoryArtikelkategorie.ArtKat_Bezeichnungstring,40ArtikelkategorieArtikelkategorieCatégorie d'article
Article Category
ArticleTypeArtikelkategorie.ArtKat_TypBezeichnungstring,30ArtikeltypArtikeltypType d'article
Article Type
ManufacturerProduzent.Prod_Bezeichnungstring,50ProduzentProduzentProducteur
Producer
RegionRegion.Reg_Bezeichnungstring,40RegionRegionRégion
Region
CountryLand.Land_Bezeichnungstring,40LandLandPays
Country
ProductCycleZyklus.Zyk_Bezeichnungstring.,40ProduktzyklusProduktzyklusCycle du produit
Product cycle
AddressSurnameAdresse.Adr_Namestring,50NameNameNom
Surname
AddressNameAdresse.Adr_Vornamestring,25VornameVornamePrénom
Name
AddressAddAdresse.Adr_Zusatz1string,30Zusatz 1Zusatz 1Additiv au nom 1
Additional Name 1
AddressZIPAdresse.Adr_PLZstring,10PLZPLZNPA
ZIP
AddressPlaceAdresse.Adr_Ortstring,30OrtOrtLieu
Place
AddressCategoryKundenkategorie.KundKat_Bezeichnungstring,40KundenkategorieKundenkategorieCatégorie de clients
Customer category
PriceGroupKundengruppePreis.KundPreis_Bezeichnungstring,40PreisgruppePreisgruppeGroupe de prix
Price groupe
EnterpriseKonzern.Konz_Bezeichnungstring,40Kette / KonzernKette / KonzernChaîne / groupe
Chain / Enterprise
Quantity_unit_30


Code Block
languagesql
title
Quantity_unit_30
collapsetrue
SELECT SUM ( Bewegung.Bew_Menge ) 
  FROM VinX.Bewegung 
 WHERE Bewegung.Bew_Datum
integerMonat der Lieferung
 >= ( 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


numericMenge Stück/Flasche letzte 30 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity Filling
Quantity_unit_90


Code Block
languagesql
title
Quantity_unit_90
collapsetrue
SELECT SUM ( Bewegung.Bew_Menge ) 
  FROM VinX.Bewegung 
 WHERE Bewegung.Bew_Datum
integerJahr der LieferungBilling_no
 >= ( 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 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity Filling
Quantity_unit_180


Code Block
languagesql
titleBerechnung Billing_noQuantity_unit_180
collapsetrue
IF NOTSELECT SUM ( Bewegung.Bew_Menge ) 
  FROM VinX.Bewegung 
 WHERE Bewegung.Bew_Datum >= ( CURRENT DATE - 180 ) 
   AND Bewegung.Bew_ArtikelID = ArticleId 
   AND Bewegung.Bew_AbgerechnetAm IS NULL THEN Beleg.Bel_BelegNr ENDIF
Rechnungs-Nr.
Billing_dateBewegung.Bew_AbgerechnetAmdateRechnungsdatum gemäss Datum der Rechnung
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 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity Filling
Quantity_unit_365


Code Block
languagesql
title
Quantity_unit_365
collapsetrue
MONTH Bewegung.Bew_AbgerechnetAm
integerMonat der Rechnung
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 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity Filling
Quantity_unit_730


Code Block
languagesql
title
Quantity_unit_730
collapsetrue
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_
integerJahr der Rechnung
Quantity_unitBewegung.Bew_MengenumericMenge Stück/Flasche
Quantity_packageBewegung.Bew_MengeGGnumericMenge Grossgebinde
Quantity_litre
Vorgang = (0-2) 
   AND Bewegung.Bew_Anrechenbar IN (0,3) 
   AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0



Menge Stück/Flasche letzte 730 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity Filling
Selling_amount_30


Code Block
languagesql
titleSelling_amount_30
collapsetrue
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


numericGesamtbetrag Verkauf letzte 30 TageUmsatzChiffre d'affairesFatturatoTurnover
Selling_amount_90Quantity_free


Code Block
languagesql
titleBerechnung Quantity_litreSelling_amount_90
collapsetrue
Quantity_unit * ( Unit_size_cl / 100 )
numericMenge 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


numericGesamtbetrag Verkauf letzte 90 TageUmsatzChiffre d'affairesFatturatoTurnover
Selling_amount_180Purchase_value


Code Block
languagesql
titleBerechnung Quantity_freeSelling_amount_180
collapsetrue
if Statistic_relevance = 3 then Quantity_unit
numericMenge Gratisware
ProcessBewegung.Bew_Vorganginteger

ist immer -2 = Warenausgang

Selling_priceBewegung.Bew_PreisnumericVerkaufspreis
Selling_amountBewegung.Bew_NettoerloesnumericGesamtbetrag Verkauf
Valuation_price_at_saleBewegung.Bew_EinstandspreisnumericBewertungspreis zum Zeitpunkt des Verkaufs
Valuation_price_currentArtikel.Art_LagerPreisnumericAktueller Bewertungspreis gemäss Artikel
Purchase_priceEKPreis.EK_EinstandspreisnumericAktueller Einstandspreis gemäss gültigem Einkaufspreis zum Artikel
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


numericGesamtbetrag Verkauf letzte 180 TageUmsatzChiffre d'affairesFatturatoTurnover
Selling_amount_365


Code Block
languagesql
titleSelling_amount_365
collapsetrue
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


numericGesamtbetrag Verkauf letzte 365 TageUmsatzChiffre d'affairesFatturatoTurnover
Selling_amount_730


Code Block
languagesql
titleSelling_amount_730
collapsetrue
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


numericGesamtbetrag Verkauf letzte 730 TageUmsatzChiffre d'affairesFatturatoTurnover
Purchase_value_30


Code Block
languagesql
titlePurchase_value_30
collapsetrue
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


EinkaufswertValeur d'achatValore di acquistoPurchase value
Purchase_value_90


Code Block
languagesql
titlePurchase_value_90
collapsetrue
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


EinkaufswertValeur d'achatValore di acquistoPurchase value
Purchase_value_180


Code Block
languagesql
titleBerechnung Purchase_value_180
collapsetrue
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) 
   (AND IsNull( Valuation_price_at_sale, Purchase_priceBewegung.Bew_GegenBewegungID,0) = 0


numeric

Einkaufswert letzte 180 Tage


EinkaufswertValeur d'achatValore di acquistoPurchase value
Purchase_value_365


Code Block
languagesql
titlePurchase_value_365
collapsetrue
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, Valuation_price_current
  3) 
   AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0


numeric

Einkaufswert letzte 365 Tage


EinkaufswertValeur d'achatValore di acquistoPurchase value
Purchase_value_730


Code Block
languagesql
titlePurchase_value_720
collapsetrue
SELECT SUM ( Bewegung.Bew_Menge * Bewegung.Bew_Einstandspreis ) 
  FROM VinX.Bewegung 
 WHERE Bewegung.Bew_Datum >= ( CURRENT DATE -  ), 0730 ) 
   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'achatValore di acquistoPurchase value

Profit_margin_30

Profit_margin_90

Profit_margin_180

Profit_margin_365

Profit_margin_730


Code Block
languagesql
titleBerechnung vf_statistics.Profit_margin
collapsetrue
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 CHFMarge en CHFMargine in CHFMargin in CHF

Profit_margin_percentage_30

Profit_margin_percentage_90

Profit_margin_percentage_180

Profit_margin_percentage_365

Profit_margin_percentage_730




Code Block
languagesql
titleBerechnung vf_statistics.Profit_margin_percentage
collapsetrue
(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 ) elseELSE 0 endifENDIF)


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


DBViewValue
whereBewegung.Bew_VorgangProcess-2
andBewegung.Bew_AdresseIDAddressIdis not null
andBewegung.Bew_GegenBewegungId-is null
andBewegung.Bew_Datum
CURRENT DATE - 730

Group by

ArticleId
AddressId

Order by

AddressId ASC
ArticleId ASC

Anhang

Modellerweiterung ViewVinX_mfstatitics mit Definition für View vf_statistics

...