Versions Compared

Key

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

...

PerspektiveKontextBeschreibungDatenbasis
Performance-IndikatorKunden-DashboardMonatliche Umsatzentwicklung mit Vorjahresvergleich des ausgewählten KundenSQLView_vf_performanceindicator
TopsellersKunden-DashboardTop 5 Artikel gemäss UmsatzSQLView_vf_topsellers
SortimentBezü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_statisticssales

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

...

Mockup Performance Indikator

SELECT

Drawio
bordertrue1
diagramNamezoomMockup Statistik Dashboard1
simpleViewerpageIdfalse12812368
widthcustContentIdlinks19891352auto
lboxtbstyle1top
diagramDisplayNamelboxMockup Statistik Dashboardtrue
contentVerdiagramWidth11831
revision7

Field Mapping Performance-Indikator

baseUrlhttps://i-ag.atlassian.net/wiki
diagramNameMockup Statistik Dashboard
width1183
linksauto
tbstyletop

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

...

Order by Klausel

Selling_amount

...

Bezüge

Mockup

...

Bezüge


Field Mapping

...

Bezüge

Unit_size_clInhaltInClFlaschengrösse in Zentiliter (cl), default 1
View_fieldEntity.attributetypeDescriptionDEFRITEN
ArticleIdBewegung.Bew_ArtikelIDforeign keyID des Artikels



AddressIdBewegung.Bew_AdresseIDforeign keyID der Adresse



OrderIdArticleNameBewegungArtikel.BewArt_BelegIDBezeichnungforeign keyID des BelegsOrderPositionIdBewegung.Bew_BelegIDforeign keyID der ArtiklepositionWarehouseIdBewegung.Bew_LagerIDforeign keyID des LagersstringArtikel BezeichnungBezeichnungDescription
Description

Vintage

Artikel.Art_JahrgangintegerJahrgangJahrgangMillésime
Vintage
VolumeArtikel.Art_VolumenintegerVolumenVolumenDegré d'alcool
Volume
FillingAbfuellung.Abf_numericKuerzelstring,20AbfüllungConditionnementAbfüllungImbottigliamentoCondionnement
Filling
Statistic_relevancePackagingBewegungGrossgebinde.BewGross_AnrechenbarKuerzelinteger

0 = Umsatz und Menge

2 = Nur Umsatz

3 = Nur Menge (Gratiswaren)

AnrechenbarImputableImputabileAllowable
Delivery_noBewegung.Bew_BelegNrintegerLieferschein-NrLieferschein-Nr.N° du belltin livraisonNo. di bollettta di consegnaDelivery note No.
Delivery_dateBewegung.Bew_DatumdateLieferdatum gemäss Datum LieferscheinLieferdatumDate de livraisonData di consegnaDelivery date
Delivery_month
Code Block
languagesql
titlevf_statistics.Delivery_month
collapsetrue
MONTH Bewegung.Bew_Datum
integerMonat der LieferungLiefermonatMois de livraisonMese di consegnaDelivery monthDelivery_year
Code Block
languagesql
titlevf_statistics.Delivery_year
collapsetrue
YEAR Bewegung.Bew_Datum
integerJahr der LieferungLieferjahrAnnée de livraisonAnno di consegnaDelivery yearBilling_no
Code Block
languagesql
titlevf_statistics.Billing_no
collapsetrue
IF NOT Bewegung.Bew_AbgerechnetAm IS NULL THEN Beleg.Bel_BelegNr ENDIF
Rechnungs-Nr.Rechnungs-Nr.N° de factureNo. di fatturaInvoice No.Billing_dateBewegung.Bew_AbgerechnetAmdateRechnungsdatum gemäss Datum der RechnungRechnungsdatumDate de factureData della fatturaInvoice dateBilling_monthstring,20GrossgebindeGrossgebindeEmballage
PackagingArticleCategoryArtikelkategorie.ArtKat_Bezeichnungstring,40ArtikelkategorieArtikelkategorieCatégorie d'article
Article CategoryArticleTypeArtikelkategorie.ArtKat_TypBezeichnungstring,30ArtikeltypArtikeltypType d'article
Article TypeManufacturerProduzent.Prod_Bezeichnungstring,50ProduzentProduzentProducteur
ProducerRegionRegion.Reg_Bezeichnungstring,40RegionRegionRégion
RegionCountryLand.Land_Bezeichnungstring,40LandLandPays
CountryProductCycleZyklus.Zyk_Bezeichnungstring.,40ProduktzyklusProduktzyklusCycle du produit
Product cycleAddressSurnameAdresse.Adr_Namestring,50NameNameNom
SurnameAddressNameAdresse.Adr_Vornamestring,25VornameVornamePrénom
NameAddressAddAdresse.Adr_Zusatz1string,30Zusatz 1Zusatz 1Additiv au nom 1
Additional Name 1AddressZIPAdresse.Adr_PLZstring,10PLZPLZNPA
ZIPAddressPlaceAdresse.Adr_Ortstring,30OrtOrtLieu
PlaceAddressCategoryKundenkategorie.KundKat_Bezeichnungstring,40KundenkategorieKundenkategorieCatégorie de clients
Customer categoryPriceGroupKundengruppePreis.KundPreis_Bezeichnungstring,40PreisgruppePreisgruppeGroupe de prix
Price groupeEnterpriseKonzern.Konz_Bezeichnungstring,40Kette / KonzernKette / KonzernChaîne / groupe
Chain / EnterpriseQuantity_unit_30


Code Block
languagesql
title
vf
Quantity_
statistics.Billing
unit_
month
30
collapsetrue
MONTH
SELECT SUM ( Bewegung.Bew_
AbgerechnetAmintegerMonat der RechnungRechnungsmonatMois de factureMese della fatturaInoivce monthBilling_year
Code Block
languagesql
titlevf_statistics.Billing_year
collapsetrue
YEAR Bewegung.Bew_AbgerechnetAm
integerJahr der RechnungRechnungsjahrAnnée de factureAnno della fatturaInvoice yearQuantity_unitBewegung.Bew_MengenumericMenge Stück/FlascheMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity FillingQuantity_packageBewegung.Bew_MengeGGnumericMenge GrossgebindeMenge GebindeQuantité EmballageQuantità ImballagioQuantity PackageQuantity_litre
Menge ) 
  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,3) 
   AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0


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


Code Block
languagesql
titlevfQuantity_statistics.Quantityunit_litre90
collapsetrue
Quantity_unitSELECT *SUM ( Unit_size_cl / 100 )
numericMenge in LiterMenge LiterQuantité litreQuantità litriQuantity litersQuantity_free
Code Block
languagesql
titlevf_statistics.Quantity_free
collapsetrue
if Statistic_relevance = 3 then Quantity_unit
numericMenge GratiswareGratismengeQuantité gratuiteQuantità liberaFree quantityProcessBewegung.Bew_Vorganginteger

ist immer -2 = Warenausgang

VorgangProcessusProceduraProcedureSelling_priceBewegung.Bew_PreisnumericVerkaufspreisPreisPrixPrezzoPriceSelling_amountBewegung.Bew_NettoerloesnumericGesamtbetrag VerkaufUmsatzChiffre d'affairesFatturatoTurnoverValuation_price_at_saleBewegung.Bew_EinstandspreisnumericBewertungspreis zum Zeitpunkt des VerkaufsEinkaufspreis bei VerkaufPrix d'achat à la ventePrezzo di acquisto alla venditaPurchase price at saleValuation_price_currentArtikel.Art_LagerPreisnumericAktueller Bewertungspreis gemäss ArtikelBewertungspreisPrix d'évaluationPrezzo di valutazioneValuation pricePurchase_priceEKPreis.EK_EinstandspreisnumericAktueller Einstandspreis gemäss gültigem Einkaufspreis zum ArtikelEinkaufspreisPrix d'achatPrezzo di acquistoPurchase pricePurchase_value
Code Block
languagesql
titlevf_statistics.Purchase_value
collapsetrue
Quantity_unit * ( IsNull
                  ( IsNull
                    ( IsNull( Valuation_price_at_sale, Purchase_price )
                    ), Valuation_price_current
                  ), 0
                 )
numeric

Einkaufswert zu

  • Valuation_price_at_sale
  • default Purchase_price
  • default Valuation_price_current
  • default 0
EinkaufswertValeur d'achatValore di acquistoPurchase valueProfit_margin
Code Block
languagesql
titlevf_statistics.Profit_margin
collapsetrue
Selling_amount - Purchase_value
numericDeckungsbeitrag / Marge des Verkaufs in CHFDB in CHFMarge en CHFMargine in CHFMargin in CHF

Profit_margin_percentage

Code Block
languagesql
titlevf_statistics.Profit_margin_percentage
collapsetrue
(if (Selling_amount <> 0) then (Profit_margin / Selling_amount ) else 0 endifBewegung.Bew_Menge ) 
  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,3) 
   AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0



Menge Stück/Flasche letzte 90 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity FillingQuantity_unit_180


Code Block
languagesql
titleQuantity_unit_180
collapsetrue
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 TageMenge AbfüllungQuantité ConditionnementQuantità ImbottigliamentoQuantity FillingQuantity_unit_365


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


Code Block
languagesql
titleQuantity_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_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 FillingSelling_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'affairesFatturatoTurnoverSelling_amount_90


Code Block
languagesql
titleSelling_amount_90
collapsetrue
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'affairesFatturatoTurnoverSelling_amount_180


Code Block
languagesql
titleSelling_amount_180
collapsetrue
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'affairesFatturatoTurnoverSelling_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'affairesFatturatoTurnoverSelling_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'affairesFatturatoTurnoverPurchase_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 valuePurchase_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 valuePurchase_value_180


Code Block
languagesql
titlePurchase_value_180
collapsetrue
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 = 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 180 Tage


EinkaufswertValeur d'achatValore di acquistoPurchase valuePurchase_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,3) 
   AND IsNull(Bewegung.Bew_GegenBewegungID,0) = 0


numeric

Einkaufswert letzte 365 Tage


EinkaufswertValeur d'achatValore di acquistoPurchase valuePurchase_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 - 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


EinkaufswertValeur d'achatValore di acquistoPurchase value

Profit_margin_30

Profit_margin_90

Profit_margin_180

Profit_margin_365

Profit_margin_730


Code Block
languagesql
titlevf_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
titlevf_statistics.Profit_margin_percentage
collapsetrue
Profit_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) THEN (Profit_margin_730 / Selling_amount_730 ) ELSE 0 ENDIF)


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 %

...


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

...