Grafana Label Kategorie auswerten

Hallo zusammen,

ich setze über ein IVR das Label Kategorie z.B. Kategorie: Terminanfrage oder Kategorie: Befundanfrage. Dieses würde ich gern auswerten. Könntet Ihr mir einen Tipp geben, wie ich da ran komme über Grafana?

Im Voraus danke für Eure Unterstützung.

Jens

Hallo,

ja du kommst über Grafana an die Labels.

  1. In “Column Styles” eine neue Column hinzufügen (column:labels, header:Labels, Type:string)
  2. SQL Query anpassen und am Ende des SELECT folgenden Subselect einfügen:

(SELECT string_agg(“displayName” || ‘: ’ || “value”,’, ') as labels FROM jsonb_to_recordset(data->‘labels’) AS result(“displayName” text, “value” text))

Gruss

Flo

1 Like

Hallo Florian,

vielen Dank für Deine Information.

Ich verstehe noch nicht so ganz wie das SQL Query unter Deinem Punkt 2 aussehen muss. Wie komme ich zu diesem um das Subselect anfügen zu können?

Unabhängig davon, gibt es eine Dokumentation zur Datenstruktur? Diese wäre ja die Basis für ein Select.

VG Jens

Hi Jens,

du kopierst als erstes z.B. das Team Dashboard in ein neues Dashboard, nennen wir es mal “Team Auswertung”. Danach gehst du in dieses Dashboard und anschließend z.B auf die Calls Liste und dann auf Edit.

Nun kannst du die oben genannten Sachen einfügen. Das SQL Statement sind dann so aus.

SELECT queue_timestamp, from_number, from_name, status, queue_name, agent_name, agent_number, total_duration, moh_duration, agent_ringing, talking_duration, hold_duration, data, chain,
(SELECT string_agg(“displayName” || ‘: ’ || “value”,’, ‘) as labels FROM jsonb_to_recordset(data->‘labels’) AS result(“displayName” text, “value” text))
FROM filter_queue_calls($__timeFrom(), $__timeTo(),’${team:csv}’,’${user:csv}’,’$fromName’,’$fromNumber’,’${label:csv}’)
ORDER by queue_timestamp DESC;

Nein, es gibt leider keine Doku der Datenstruktur (Datenbank als auch für Grafana). Ich habe vor ca. 2 Monate her angefragt, aber Pascom sieht keinen Bedarf dies zu veröffentlichen, bzw. hat kein Interesse daran dies zu tun. Die Dokumentation bezieht sich leider nur auf die oberflächlichen Einstellungen bzw. Parameter.

Gruss

Flo

1 Like

Hallo Florian,

es hat etwas gedauert aber habe es mit Deinem Tipp hinbekommen.

Danke und Viele Grüsse

Jens

Könnte man das Subselect noch um eine WHERE Clause erweitern, so das mir lediglich die Kategorie mit dem Value “B-B-Anfrage” angezeigt wird? :pray:

SELECT queue_timestamp, 
    		from_number, 
    		from_name, 
    		status, 
    		queue_name, 
    		agent_name, 
    		agent_number, 
    		total_duration, 
    		moh_duration, 
    		agent_ringing, 
    		talking_duration, 
    		hold_duration, 
    		chain,
    		(SELECT string_agg("displayName" || ': ' || "value",', ') as labels 
    		FROM jsonb_to_recordset(data->'labels') AS result("displayName" text, "value" text)) 
    FROM filter_queue_calls($__timeFrom(), $__timeTo(),'${team:csv}','${user:csv}','$fromName','$fromNumber','${label:csv}')
    ORDER by queue_timestamp DESC;  

Beispiel eines Labels:

  {
      "queue": {
        "queueName": "Team-MG",
        "joinPosition": 1,
        "ringedAgents": 4,
        "joinQueueState": {
          "countEntries": "1",
          "countMembersBusy": "0",
          "countActiveMembers": "4",
          "countPausedMembers": "0",
          "countMembersRinging": "0",
          "countInactiveMembers": "6",
          "countMembersNotInUse": "4",
          "countMembersUnavailable": "0",
          "countMembersPerPauseReason": {}
        },
        "queueExtension": "1160"
      },
      "labels": [
        {
          "id": 2,
          "type": "generic",
          "value": "intern",
          "visible": true,
          "displayName": "Kategorie"
        },
        {
          "id": 1,
          "type": "generic",
          "value": "95",
          "visible": false,
          "displayName": "Priorität"
        },
        {
          "id": 3,
          "type": "generic",
          "value": "1000",
          "visible": true,
          "displayName": "Quelle"
        },
        {
          "id": 2,
          "type": "generic",
          "value": "B-B-Anfrage",
          "visible": true,
          "displayName": "Kategorie"
        }
      ]
    }

Wäre nett, wenn Ihr mir hier noch einen Hinweis geben könntet.

VG Jens