Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Eine bestimmte Ergebnismenge ausblenden

Alles zur Datenbankentwicklung im MySQL-Umfeld...

Eine bestimmte Ergebnismenge ausblenden

Beitragvon mido2005 » Do 20. Dez 2018, 11:12

Hallo Zusammen,
ich bin ganz neu hier und hoffe ich dass jemand mir hilft. ich habe ein Problem und zwar ich will von mein Ergebiss nur mein Nutzungsgrad ( NG) anzeigen lassen, aber irgendwie kriege ich nicht hin. kann jemand von euch mir helfen?
hier ist der SQL Code :

WITH TBL_KENNZAHLEN AS( -- BEGINN TBL_KENNZAHLEN
SELECT
DATUM
,SCHICHT
,CASE WHEN BNZ <> 0 THEN PROD_ZEIT/BNZ*100 ELSE 0.0 END AS NG
,CASE WHEN PROD_ZEIT <> 0 THEN GESMENGE_T/PROD_ZEIT*100 ELSE 0.0 END AS LG
,CASE WHEN GESMENGE <> 0 THEN GUTMENGE/GESMENGE * 100 ELSE 0.0 END AS QG
,CASE
WHEN BNZ <> 0 AND PROD_ZEIT <> 0 AND GESMENGE <> 0 THEN (PROD_ZEIT/BNZ)*(GESMENGE_T/PROD_ZEIT)*(GUTMENGE/GESMENGE)*100
ELSE 0.0
END AS OEE
,PROD_ZEIT AS PROD_ZEIT
,BNZ AS BNZ
,GUTMENGE
,GESMENGE
,GESMENGE_T
FROM
(SELECT
DATUM
,Sum(T*(GUTMENGE+AUSMENGE+NACHMENGE)) AS GESMENGE_T
,SCHICHT
FROM
(SELECT
A.APL
,A.DATUM -- DATUM
,A.GUTMENGE
,A.NACHMENGE
,A.AUSMENGE
,A.SCHICHT

--TEB_MATNR Stückzeit
,(TEB_REF * 60 -- TEB_REF ist grundsaetzlich in Minuten
/
(CASE
WHEN TEB_FAKTOR IS NULL THEN 1
WHEN TEB_FAKTOR = 0 THEN 1
ELSE TEB_FAKTOR END)) AS t
-- TEB_MATNR Stückzeit

FROM @|DBQUALIFIER|@APL_REPSCHICHT_AFO A
JOIN @|DBQUALIFIER|@TEB_MATNR B ON (B.APL = A.APL and B.MATNR = A.MATNR
and B.GUELTIG_AB = (SELECT MAX(GUELTIG_AB) FROM @|DBQUALIFIER|@TEB_MATNR
WHERE APL=A.APL AND MATNR=A.MATNR AND GUELTIG_AB<=A.DATUM))
WHERE
@|WORKPLACES|@
@|AND_TIMERANGE_FOR_SHIFTREPORTS|@
AND FREISCHICHTKZ = 'N'
AND SUFFIX='1' -- Polynorm Fuehrungskriterium
) GROUP BY DATUM, SCHICHT
)

INNER JOIN
(SELECT
DATUM
,Sum(GUTMENGE) AS GUTMENGE
,Sum(GUTMENGE+AUSMENGE+NACHMENGE) AS GESMENGE
,SCHICHT
FROM
(SELECT
APL
,DATUM -- DATUM
,GUTMENGE
,NACHMENGE
,AUSMENGE
,SCHICHT

FROM @|DBQUALIFIER|@APL_REPSCHICHT_AFO A
WHERE
@|WORKPLACES|@
@|AND_TIMERANGE_FOR_SHIFTREPORTS|@
AND FREISCHICHTKZ = 'N'
) GROUP BY DATUM, SCHICHT
)
USING (DATUM, SCHICHT)

INNER JOIN

(SELECT
DATUM
,SUM(CASE WHEN APLSTAT = '000' THEN GESZEIT ELSE NULL END) AS PROD_ZEIT
,SUM(GESZEIT) AS BNZ
,SCHICHT
FROM
(SELECT
A.APL
,A.DATUM
,A.APLSTAT
,A.GESZEIT
,A.SCHICHT
FROM @|DBQUALIFIER|@APL_REPSCHICHT_BA A
WHERE
@|WORKPLACES|@
@|AND_TIMERANGE_FOR_SHIFTREPORTS|@
AND A.FREISCHICHTKZ='N'
AND A.APLSTAT IN (SELECT APLSTAT FROM @|DBQUALIFIER|@APLSTAT_QUALIFIER WHERE TIMEBASE = 'BNZ')
) GROUP BY DATUM, SCHICHT
)
USING (DATUM, SCHICHT)
)-- ENDE TBL_KENNZAHLEN

--------------------------------------------------------------------------------
-- Haupt-Statement
--------------------------------------------------------------------------------

, HAUPT AS (
SELECT
DATUM
,SCHICHT
,CASE
WHEN SCHICHT = 'F' THEN 0
WHEN SCHICHT = 'S' THEN 1
WHEN SCHICHT = 'N' THEN 2
END AS RANG_SCHICHT
, NG
, LG
, QG
,OEE
,FOLGE
FROM
(
-- OEE
SELECT
SUBSTR(DATUM, 9, 2) || '.' || SUBSTR(DATUM, 6, 2) || '.' || SUBSTR(DATUM, 3, 2) || ' - ' || SCHICHT AS DATUM
,SCHICHT
,CASE WHEN OEE>0 THEN OEE ELSE 0 END AS OEE
, NG
, LG
, QG
,DATUM AS FOLGE
FROM TBL_KENNZAHLEN

-- OEE Mittel
UNION ALL
SELECT
'Mittelwerte' AS DATUM
,NULL AS SCHICHT
,(SUM(PROD_ZEIT)/SUM(BNZ))*(SUM(GESMENGE_T)/SUM(PROD_ZEIT))*(SUM(GUTMENGE)/SUM(GESMENGE))*100 AS OEE
, SUM(PROD_ZEIT)/SUM(BNZ) * 100 as NG
, SUM(GESMENGE_T)/SUM(PROD_ZEIT)*100 as LG
, SUM(GUTMENGE)/SUM(GESMENGE) *100 as QG
,'9999-99-99' AS FOLGE
FROM TBL_KENNZAHLEN
) A
ORDER BY FOLGE
)

, VEREINIGUNG AS (
SELECT DATUM
,SCHICHT
,RANG_SCHICHT
,NG AS PROZENT
,FOLGE
,0 AS RANG
,'#00FF00' AS FARBE
,'Nutzungsgrad' AS TYP
FROM HAUPT

UNION ALL

SELECT DATUM
,SCHICHT
,RANG_SCHICHT
,LG AS PROZENT
,FOLGE
,1 AS RANG
,'#00AA00' AS FARBE
,'Leistungsgrad' AS TYP
FROM HAUPT

UNION ALL

SELECT DATUM
,SCHICHT
,RANG_SCHICHT
,QG AS PROZENT
,FOLGE
,2 AS RANG
,'#AA6A80' AS FARBE
,'Qualitätsgrad' AS TYP
FROM HAUPT

UNION ALL

SELECT DATUM
,SCHICHT
,RANG_SCHICHT
,OEE AS PROZENT
,FOLGE
,3 AS RANG
,'#802060' AS FARBE
,'OEE' AS TYP
FROM HAUPT
)

SELECT DATUM
,PROZENT
,TYP
,FARBE
FROM VEREINIGUNG
ORDER BY FOLGE, RANG_SCHICHT, RANG
;
mido2005
 
Beiträge: 1
Registriert: Do 20. Dez 2018, 11:03

Re: Eine bestimmte Ergebnismenge ausblenden

Beitragvon SQLUnion » So 30. Dez 2018, 22:26

Hallo mido2005,

kannst Du uns noch ein paar Informationen zu dem Use Case liefern?
Das ist ein Reporting-Bericht oder?

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 188
Registriert: Fr 1. Nov 2013, 15:54


Zurück zu MySQL

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: