Du verwendest einen veralteten Browser. Dieser kann eventuell diese oder andere Webseiten nicht richtig darstellen. Du solltest deinen Browser aktualisieren oder einen alternativen Browser verwenden.
in der neuen Version werden die Pakete nicht mehr tageweise aufsummiert, sondern alle mit 1 Stück geschrieben, so daß die Tagesmenge nicht mehr erkennbar ist.
Gibt es schon eine Lösung?
in der neuen Version werden die Pakete nicht mehr tageweise aufsummiert, sondern alle mit 1 Stück geschrieben, so daß die Tagesmenge nicht mehr erkennbar ist.
Gibt es schon eine Lösung?
ja ist bei uns auch so und die Spalte heißt "Column1".
Du kannst dir aber mit dem Widget "Top Packer" aushelfen - da kannst du Anzahl der Tage eingeben so machen wir es aktuell damit wir es überhaupt etwas Monitorisieren können
ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
@kWarenlager INT,
@enddate DATE
)
RETURNS TABLE
AS
/*************************************************************************************************************
Beschreibung: Diese TVF-Function ist die Basis-Query für das Dashboard-Widget "Lager/Verpackte Pakete pro Mitarbeiter".
Übergeben werden die Lager ID und das Datum, ab dem die Warenausgänge gezählt werden sollen.
--------------------------------------------------------------------------------------------------------------
-- Beispielaufruf:
SELECT Mitarbeiter, Pakete, Datum FROM Dashboard.tfnPaketeProMitarbeiter(1, '2022-12-30') -- kWarenlager und Datum ab dem die Warenausgänge gezählt werden sollen
*************************************************************************************************************/
RETURN
SELECT Benu.cName AS Mitarbeiter, COUNT(Vers.kVersand) AS Pakete, TRY_CAST(Vers.dErstellt as date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (SELECT *
FROM dbo.tLieferschein AS Lief
JOIN dbo.tLieferscheinpos AS LiPo ON LiPo.kLieferschein = Lief.kLieferschein
JOIN dbo.tWarenlagerausgang AS WaLA ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
JOIN dbo.tWarenLagerPlatz AS WaLP ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
WHERE WaLP.kWarenLager = @kWarenLager
AND Lief.kLieferschein = Vers.kLieferschein)
GROUP BY Benu.cName, TRY_CAST(Vers.dErstellt as date)
ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
@kWarenlager INT,
@enddate DATE
)
RETURNS TABLE
AS
/*************************************************************************************************************
Beschreibung: Diese TVF-Function ist die Basis-Query für das Dashboard-Widget "Lager/Verpackte Pakete pro Mitarbeiter".
Übergeben werden die Lager ID und das Datum, ab dem die Warenausgänge gezählt werden sollen.
--------------------------------------------------------------------------------------------------------------
-- Beispielaufruf:
SELECT Mitarbeiter, Pakete, Datum FROM Dashboard.tfnPaketeProMitarbeiter(1, '2022-12-30') -- kWarenlager und Datum ab dem die Warenausgänge gezählt werden sollen
*************************************************************************************************************/
RETURN
SELECT Benu.cName AS Mitarbeiter, COUNT(Vers.kVersand) AS Pakete, TRY_CAST(Vers.dErstellt as date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (SELECT *
FROM dbo.tLieferschein AS Lief
JOIN dbo.tLieferscheinpos AS LiPo ON LiPo.kLieferschein = Lief.kLieferschein
JOIN dbo.tWarenlagerausgang AS WaLA ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
JOIN dbo.tWarenLagerPlatz AS WaLP ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
WHERE WaLP.kWarenLager = @kWarenLager
AND Lief.kLieferschein = Vers.kLieferschein)
GROUP BY Benu.cName, TRY_CAST(Vers.dErstellt as date)
Öffne zunächst SQL Server Management Studio und verbinde dich mit dem entsprechenden SQL Server.
Gehe anschließend links im Objekt-Explorer zu: Datenbanken → deine_Datenbank → Programmierbarkeit → Funktionen → Tabellenwertfunktionen
Dort suchst du folgende Funktion: Dashboard.tfnPaketeProMitarbeiter
Danach gehst du wie folgt vor: Rechtsklick auf die Funktion → Skript für Funktion als → ALTER in → Neues Abfrage-Editor-Fenster
Jetzt öffnet sich der aktuell gespeicherte SQL-Code der Funktion in einem neuen Abfragefenster. Diesen Code kannst du mit dem geänderten Code vergleichen.
Bevor Änderungen vorgenommen werden, sollte der vorhandene Code unbedingt gesichert werden:
Den kompletten Code kopieren, zum Beispiel in den Windows-Editor einfügen und speichern. So kann der ursprüngliche Stand wiederhergestellt werden, falls etwas schiefgeht.
Anschließend kann der vorhandene Code durch den neuen Code ersetzt werden.
Code:
USE [DEINE_DATENBANK]
GO
ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
@kWarenlager INT,
@enddate DATE
)
RETURNS TABLE
AS
RETURN
SELECT
Benu.cName AS Mitarbeiter,
COUNT(Vers.kVersand) AS Pakete,
CAST(Vers.dErstellt AS date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu
ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (
SELECT 1
FROM dbo.tLieferschein AS Lief
JOIN dbo.tLieferscheinpos AS LiPo
ON LiPo.kLieferschein = Lief.kLieferschein
JOIN dbo.tWarenlagerausgang AS WaLA
ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
JOIN dbo.tWarenLagerPlatz AS WaLP
ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
WHERE WaLP.kWarenLager = @kWarenLager
AND Lief.kLieferschein = Vers.kLieferschein
)
GROUP BY
Benu.cName,
CAST(Vers.dErstellt AS date)
GO
Wichtiger Hinweis
Die Durchführung erfolgt auf eigene Verantwortung. Ich übernehme keine Haftung für Schäden, Datenverlust oder sonstige Probleme, die durch Änderungen an der Datenbank oder am SQL-Code entstehen können.
Alle Angaben sind ohne Gewähr. Vor jeder Änderung sollte unbedingt eine Sicherung des bestehenden Codes sowie, wenn möglich, ein aktuelles Backup der Datenbank erstellt werden.