Jump to content

Pathomorph

Members
  • Gesamte Inhalte

    75
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Pathomorph

  1. Hallo zusammen

     

    Habe kleine Verständnis-Probleme mit dem SS2014 mit den Data Tools:

     

    Momentane Infrastruktur:

     - SQL 2012 + Data Tools

     - Visual Studio 2013 SP3

     

    Mit VS habe ein Datenbank-Projekt erstellt und zusätzlich ein Cube.

     

    Test-umgebung:

    -  SQL 2014 + Data Tools - BI (SSDTBI_x86_DEU.exe)

     - Visual Studio 2013 SP3

     

    Da SSDT nur als 32bit existiert, musste ich bei der Installation als "extra Instanz" installieren, statt "vorhandene Instanz ergänzen".

     

    Wenn ich nun mein Projekt in VS2013 öffne, wird angezeigt, dass das Projekt nicht kompatibel ist...

     

    Was ist eigentlich der richtige Nachfolger der "Data Tools" vom SQL-2012?

    Wo liegt mein Denkfehler?

     

    Gruß

  2. Hi

     

    1. Wenn du schon ein Cursor benutzen willst, warum verknüpfst du nicht gleich die Tabelle "USER_SIEBEL" mit dbo.S_OPTY? Wenn du Datensätze zurück bekommst, musst du nicht noch die Anzahl abfragen...

    2. Wieso verlinkst du so viele Tabelle, die du eigentlich nicht brauchst?

     

    So z.B. würde es auch tun?! Oder übersehe ich da etwas?

    ET @V_ANZAHL = (	SELECT  COUNT(*) FROM dbo.S_OPTY T1         			    
    			LEFT OUTER JOIN dbo.S_USER T13 ON T11.PR_EMP_ID = T13.PAR_ROW_ID       
    			WHERE  T1.STATUS_CD in ( 'Pending' , 'Accepted')     
    			--AND T13.LOGIN = @V_USER     
    			AND (T13.LOGIN in (@V_USER) )
                            --OR (T6.LOGIN in (@V_USER)) )
    			AND T1.SUM_EFFECTIVE_DT <= GETDATE()      
    			AND T1.SUM_EFFECTIVE_DT >= '20100601' )    
    
  3. Erstmal musst du überlegen, was die Verbindung zwischen den 2 Tabellen ist.

    In der Tabelle "president" ist ein Feld "state_id_born". Dort ist sicher die id aus der Tabelle "state" gespeichert, damit Daten nicht redundant gespeichert werden.

     Genau diese Verbindung wird mit "ON" beschrieben:

     

    SELECT blabla FROM president INNER JOIN state ON president.state_id_born = state.id

     

    Dann kommt die WHERE-Klausel, um die Datenmenge einzuschränken bzw. zu filtern:

     

    ... WHERE president.birth_year <= 1900

     

    jetzt ist die Frage nach der Anzahl dieser Staaten:

    Wie Cyberquest schon sagt: COUNT!

     

    --> SELECT Count(*) FROM president INNER JOIN state ON president.state_id_born = state.id WHERE president.birth_year <= 1900

     

     

    Kleiner Tip: SQL-Statements lieber strukturieren, damit du später noch durchblickst:

     

    SELECT

          Count(*)

    FROM

          president

          INNER JOIN state

                ON president.state_id_born = state.id

    WHERE 

          president.birth_year <= 1900

  4. Hi

     

    Erstmal wäre wichtig zu wissen, wie deine Tabelle aussieht und in welchem Feld das Datum gespeichert wird und wie...

     

    Grundsätzlich: SELECT * FROM table_name WHERE [DatumsFeld] BETWEEN ...

     

    Wenn das Datum-Feld vom Typ  datetime ist:

     

    SELECT * FROM table_name WHERE DATEPART(year,[DatumsFeld]) BETWEEN 1900 AND 1999

  5. Hi
     
    Hab dir mal die Funktion gebastelt. Diese funktioniert allerdings mit der "echten" linearen Interpolation nach Newton, d.h. sie funktioniert auch mit größeren Lücken in deiner Zeitskala.

     

    1. Du ersetzt in der Funktion den Text "WindTable" mit dem Namen DEINER Tabelle. Den Namen der Funktion selbst kannst so lassen oder auch nicht.

    2. Ausführen. Damit hast du eine Funktion, die dir eine Tabelle zurück liefert.

    3. Anwendung: SELECT * FROM get_WindTable()

     

    Dann hast du, was du willst

    CREATE FUNCTION [dbo].[get_WindTable]() 
    RETURNS 
    @RawTable TABLE 
    (
           TIM datetime,
           VAL decimal(8,3)    
    )
    AS
    BEGIN
           
           DECLARE @BaseTIM datetime
           DECLARE @NextTIM datetime
           DECLARE @BaseVAL decimal(8,3)
           DECLARE @NextVAL decimal(8,3)
           
    	   DECLARE @DiffCounter int
    
           DECLARE WindCursor CURSOR
           FOR
                 SELECT
                        Base.TIM,Base.VAL,
                        LEAD(Base.TIM,1,0) OVER (ORDER BY Base.TIM) NextTIM,
                        LEAD(Base.VAL,1,0) OVER (ORDER BY Base.TIM) NextVAL
                 FROM
                 (SELECT TOP 100 PERCENT
                        CONVERT(datetime,CONVERT(char(16),TIM,121)) TIM,
                        CONVERT(decimal(8,3),AVG(VAL)) VAL
                 FROM 
                        WindTable
                 GROUP BY
                        CONVERT(datetime,CONVERT(char(16),TIM,121))
                 ORDER BY
                        CONVERT(datetime,CONVERT(char(16),TIM,121))) Base
    
           OPEN WindCursor
    
           FETCH NEXT FROM WindCursor INTO @BaseTIM,@BaseVAL,@NextTIM,@NextVAL
    
           WHILE @@FETCH_STATUS=0
           BEGIN
                 INSERT INTO @RawTable (TIM,VAL) VALUES (@BaseTIM, @BaseVAL)
    
    			 SET @DiffCounter = 1
    
    			 WHILE @DiffCounter < DATEDIFF(minute,@BaseTIM,@NextTIM)
    			 BEGIN
    				
    				INSERT INTO @RawTable 
    					(
    						TIM,
    						VAL
    					) 
    				VALUES 
    					(
    						DATEADD(minute,@DiffCounter,@BaseTIM),
    						@BaseVAL+(@NextVAL-@BaseVAL)*@DiffCounter/DATEDIFF(minute,@BaseTIM,@NextTIM)
    					)
    
    				SET @DiffCounter = @DiffCounter + 1
    			 END
    			                          
                 FETCH NEXT FROM WindCursor INTO @BaseTIM,@BaseVAL,@NextTIM,@NextVAL
           END
                 
           CLOSE WindCursor
           DEALLOCATE WindCursor
           
           RETURN 
    END
    
  6. Eine Reparatur brachte nichts.

    Habe das vmware-Image neu hochgezogen. Ich glaube, ich hatte vorher zu viel deinstalliert.

     

    Mich wundert es ohnehin, dass Microsoft noch so viel altes Zeug mitinstalliert. Habe "nur" Office 2013, VS 2013 und SQL-Server 2014. Mehr nicht. Unter "Programme und Features" habe ich dann alles Mögliche, von SQL 2008 +über 2012 b bis 2014 und bei VS auch so Zeug von 2010, 2013 und 2013...

     

    Gruß und Danke

  7. Habe ich jetzt gemacht. Die Projekt-Vorlage ist denoch nicht da.

    Bist zur Deinstallation des SQL 2012 und Neuistallation des SQL 2104 war alles noch da, daher die Frage, zu welcher Komponente das gehört. 

     

    Noch komischer:

    Ich habe den SQL2014 deinstalliert und den 2012er wieder installiert. Die Vorlage fehlt immer noch...

  8. Hi zusammen

     

    Nach der Installation des SS2014 Enterprise  und zusätzliche Installation der SSDT-BI fehlt in VS2013 ein Template "SQL Server--> SQL-Server Datenbankprojekt" (s. Anhang)

    Mein vorhandenes Datenbank-Projekt kann nicht geöffnet werden.

     

    Wo bekommt man diese Komponente her?

     

    Gruß

    post-68440-0-74078000-1403433626_thumb.jpg

  9. Hallo zusammen
     
    Ich haben 2 Tabellen:
    1. Arbeitsverträge
    2. Zuordnungen zu Gruppen
     
    Beispiel Arbeitsverträge:
     

    MitarbeiterId       Von                    Bis                    Wochenstunden
    1                         01.01.2014        31.03.2014       20
    1                         01.04.2014                                 40

     
    In der zweiter Tabelle stehen die Zuordnungen zu einer oder mehreren Gruppen:
     
    MitarbeiterID     GruppenID      Von                   Bis                     Wochenstunden
    1                      1                      01.01.2014       31.01.2014       40                      --> hier ist er mit 20 Stunden mehr zugeordnet, als er beschäftigt ist
    1                      1                      01.02.2014       31.03.2014       20                      --> korrekt
    1                      2                      15.02.2014       15.03.2014       20                      --> hier ist er mit 20 Stunden mehr zugeordnet, als er beschäftigt ist
    1                      1                      01.05.2014       31.08.2014       30                      --> Es gibt eine Lücke vom 31.03. bis 30.04. und es fehlen 10 Stunden.

     
    Ziel: Eine oder mehrere Abfrage zu gestalten, die fehlerhafte Zuordnungen anzuzeigen:
    - Stundendifferenzen zw. Vertrag und Zuordnung
    - Lücken in der Zuordnung
    - Überlappungen
     
     
    Brauch mal eine "geniale" Idee. Ziel ist eine Abfrage, keine Funktion und ohne Cursor-Zeugs..
     
    Gruß

×
×
  • Neu erstellen...