Individuelle Auswahl verändern. "Datenbankübergreifender Join"

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Individuelle Auswahl verändern. "Datenbankübergreifender Join"

      Hallo zusammen,

      ich denke mal, die "eingefleischten" inSight-Entwickler werden die Vorgehensweise kennen. Ich habe sie jedoch nicht im Handbuch gefunden ...

      Wenn man in z.B. einem Spaltenobjekt (Datenbankobjekt relational oder SAP/R3 basiered) eine individuelle Auswahl eingestellt hat, so erhält man ebendiese in den nachfolgenden Datenbankobjekten.
      Manchmal will man jedoch diese individuelle Auswahl dynamisch modifizieren. Vor allem dann, wenn man den Inhalt der Spalte per Abfrage aus einer anderen Datenbank (andere Verbindungsdatei) bekommt.

      Hierzu gehe man wie folgt vor:

      1) Spalte [OBJ1] füllen (wie auch immer) die zu selektierenden Einträge enthält.
      2) Eine zweite Spalte [OBJ2] erstellen, die gewünschte Datenspalte (oder das Merkmal) hineinziehen.
      3) Dann individuelle Auswahl vom Bearbeiten-Menü wählen und ein paar Einträge (welche ist egal) selektieren.
      4) Ein Schaltfeld anlegen, Formel:

      WENN( ANZAHL( [OBJ1])>0; [OBJ2]:= [OBJ1]; LEER())

      5) Die Ausführung des Schaltfeldes geeignet auslösen, bei Umschalten oder so.

      Die individuelle Auswahl wird nun dynamisch angepaßt und man kann Inhalte aus den unterschiedlichsten Datenquellen direkt gekoppelt anzeigen.

      Hinweise:
      Die WENN( ANZAHL( ... - Abfrage ist notwendig, denn wenn eine leere Spalte einkopiert wird, wird der "individuelle-Auswahl-Modus" aufgehoben und das Arbeitsblatt müßte neu geladen werden.
      Wichtig ist darauf zu achten, daß die einkopierten Einträge in ihrer Schreibweise exakt mit den tatsächlich zu selektierenden übereinstimmen (angehängte Blanks und usw.).

      Viel Spaß beim Ausprobieren,
      Gruß, Holger Kollenbroich
    • RE: Individuelle Auswahl verändern. "Datenbankübergreifender Join"

      Hallo Beatrice,

      [OBJ1] := sei Spaltenobejkt mit gewünschten Elementen von Connection 1

      [OBJ2] := sei Spaltenobejkt mit Connection - individuelle Auswahl einmal getroffen mit einem Element

      [OBJ3] := sei Button mit [OBJ2]:=[OBJ1]

      [OBJ4] := sei Button mit LÖSCHEN([OBJ2]) [OBJ2]:=[OBJ1]


      Kannst Du diese Element in die Dokumenteneben hieven, und irgendwelche automatischen AUSFÜHREN([OBJ3]) unterbinden?
      Eventuell noch ein Einzelfeld ANZAHL([OBJ2]).

      Damit Du siehst, was drin steht beim Öffnen de Maske und was nach dem Drücken des Buttons passiert?


      minimax
      who wants to live forever?
    • RE: Individuelle Auswahl verändern. "Datenbankübergreifender Join"

      Hallo zusammen,

      das funktioniert bei relationalen DBs und Rechercheberichten soweit gut, aber bei OLAP-Datenbanken sollte man immer den OLAPUNIQUENAME() verwenden. Des weiteren ist dann das Kopieren mit Problemen behaftet, wenn ein kopiertes Element x
      z.B. [Level1].[Level2].[Level3] nicht existiert - dann kommt eine Fehlermeldung wie Unknown Member. Solange die Dimensionslisten nicht zu groß sind, bevorzuge ich eine andere Vorgehensweise:
      1. Definition einer internen Datenbank
      2. Definieren von entsprechenden Tabellen, die sich auf die Abfragen beziehen. Hierbei ist es wichtig, sich darüber klar zu sein über welche Spalten man den Join haben möchte (dynaSight verknüpft über die Spaltentitel)
      3. Abfrage der Ergebnisse aus der internen DB. Hierbei kann man dann die Abfrage so steuern, dass man z.B. nur die Elemente aus Datenbank1, nur die Elemente aus Datenbank2 oder die Schnittmenge bzw. Vereinigungsmenge bekommt ( Anlegen einer weiteren Tabelle mit i.d.R. nur einer Spalte, und zwar dem Element über das vernüpft wird).
      Ich habe mal noch ein kleines Beispiel angehängt.

      Gruß,

      Eric
      Dateien
      • Join.zip

        (10,76 kB, 191 mal heruntergeladen, zuletzt: )