Übergeben Sie globale Filter an die Dashboard-Seitenvorlage

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 1 Minute Lesedauer
  • Globale Filter werden an das Dashboard gesendet und dienen als Filter für die Visualisierungen im Dashboard. Diese Filter werden mit vorhandenen Filtern im Dashboard zusammengeführt.

    Warum und wann dieser Vorgang ausgeführt wird

    Globale Filter sind Filter, die für Visualisierungen im Ziel-Dashboard gelten. Diese Filter gelten für alle relevanten Datenvisualisierungen. Das Format des an globalFilter übergebenen Werts ist die Zeichenfolgenform von {encodedQueries: 'encoded-queries-string', Filter: 'PAR-Filter'}. Sowohl encodedQueries als auch Filter werden intern in Platform Analytics -Filter umgewandelt und mit den vorhandenen Filtern im Dashboard zusammengeführt.
    Es können entweder encodedQueries, filteroder beide angegeben werden. Im folgenden Beispiel filtern äquivalente encodedQueries- und Filterwerte beide Visualisierungen, die Datensätze aus der Incident-Tabelle [incident] basierend auf einem Status-Feldwert von 1 oder 2 anzeigen:
    JSON.stringify({
        encodedQueries: {incident: 'stateIN1,2'},
        parFilters: [{ order: 0, apply_to: ['incident.state'], values: ['1', '2'] }]
    })

    Konfigurieren Sie Links zu Dashboards auf den Seiten UI Builder, um bereits gefilterte Dashboards zu öffnen.

    Vorbereitungen

    Erforderliche Rolle: admin

    Prozedur

    1. Navigieren Sie zu UI Builder, dem Sie einen globalen Filter hinzufügen möchten.
    2. Konfigurieren Sie das Verhalten des Hyperlinks oder der Schaltfläche (oder etwas anderes) auf der Seite so, dass er auf das Dashboard mit der angegebenen sys_ID verweist.
      In diesem Beispiel lautet die sys_ID 1238.

      Wenn der Parameter „showInfoMessage“ auf „wahr“ gesetzt ist, wird die konfigurierte infoMessage im verknüpften Dashboard angezeigt, wenn Filter übergeben werden.

      api.emit('NAV_ITEM_SELECTED', {
              route: 'dashboards',
              params: {
                  sysId: '1238',
                  unifiedFilters: JSON.stringify({
                      showInfoMessage: true, // default false
                      infoMessage: 'custom info message', // if not passed and if showInfoMessage is true then the default message is displayed
                      encodedQueries: {
                          incident: 'priority=1'
                      },
                  })
              }
          });