Teamleader Power BI views voor custom fields die meerdere waardes toestaan

Teamleader Custom Fields

In Teamleader is het mogelijk om custom fields definiëren voor bijvoorbeeld projecten.

In de meervoudstabellen zoals Projects staan geen custom field waardes. Alle waardes worden automatisch toegevoegd aan de enkelvoudtabellen zoals Project.

De volgende verschillende soorten custom fields zijn beschikbaar in Teamleader tabellen, waarbij voor elk field een kolom gemaakt begint met c_, gevolgd door het label van het custom field, plus een achtervoegsel:

  • tekst (1 regel): een kolom in Invantive SQL
  • tekst (meerdere regels): een kolom in Invantive SQL eindigend op _clob.
  • telefoonnummer: een kolomnaam eindigend op _phone.
  • e-mailadres: een kolomnaam eindigend op _email.
  • URL: een kolomnaam eindigend op _url.
  • relatie naar bedrijf: een kolomnaam eindigend op _company_id (zoek het bedrijf terug in Companies).
  • relatie naar contactpersoon: een kolomnaam eindigend op _contact_id (zoek de contactpersoon terug in Contacts)
  • relatie naar artikel: een kolomnaam eindigend op _product_id.
  • relatie naar gebruiker: een kolomnaam eindigend op _user_id.
  • relatie naar medewerker: een kolomnaam eindigend op _employee_id.
  • ja/nee vlag: een kolomnaam eindigend op _flag.
  • doorlopende nummering: een kolomnaam eindigend op _counter.
  • getal, geheel of gebroken: een kolomnaam eindigend op _number.
  • bedrag: een kolomnaam eindigend op _amount.
  • datum: een kolomnaam eindigend op _date.
  • single selection: vaste optielijst waarvan er precies 1 gekozen kan worden, waarbij twee kolommen toegevoegd worden, eindigend op _id en _value voor, respectievelijk, de numerieke waarde en tekstuele omschrijving.
  • multiple selection: vaste opties waarvan er meerdere gekozen kunnen worden.

Een dergelijke tabel ziet er bijvoorbeeld qua custom fields zo uit:

Voor alle multiple selection custom fields wordt per custom field een aparte tabelfunctie gemaakt, zoals Teamleader.V1.task_multipleselection voor het custom field multiple selection op taken. Het is tenslotte mogelijk dat een taak in dit voorbeeld met meerdere waardes uit de optielijst gekoppeld wordt.

Teamleader Custom Fields ophalen in Power BI

Met Invantive SQL kunnen de waardes opgevraagd worden met statements zoals:

select p.*
from   Teamleader.V1.projects l
join   Teamleader.V1.project(l.id) p

Power BI ondersteunt op dit moment geen tabelfuncties zoals project. Daarom biedt Invantive SQL ook een groot aantal views voor Power BI gebruikers onder de schema’s V1Flat (gebaseerd op de V1 API’s van Teamleader) en V2Flat (op basis van de Teamleader V2 API’s).

Na configuratie van de Teamleader Power BI connector zijn de custom fields en hun waarden terug te vinden in de views onder het schema V1Flat, zoals Teamleader.V1Flat.ProjectsAll.

Multiple selection custom fields

Voor multiple selection custom fields waren er nog geen views en/of kolommen beschikbaar. Het was dan ook best complex om de waardes van dergelijke Teamleader custom fields te importeren in Power BI.

Kolommen voor multiple selection custom fields

Met ingang van release 20.1.394 worden de waardes van de multiple selection custom fields uit Teamleader opgenomen in twee nieuwe kolommen:

  • c_..._id_list: de geordende lijst van ID’s van de custom field waardes.
  • c_..._value_list: de geordende lijst van betekenis van de waardes.

De views in V1Flat bevatten deze kolommen, met achterliggende SQL bijvoorbeeld:

select takd.c_multipleselection_id_list
,      takd.c_multipleselection_value_list
from   teamleader.v1.tasks tak
join   teamleader.v1.task(tak.id) takd
where  takd.c_multipleselection_id_list is not null

En als uitkomst:

Kolommen voor Teamleader multiple selection custom fields

Views voor multiple selection custom fields

Met ingang van release 20.1.394 worden automatisch views gedefinieerd voor de multiple selection custom fields, zoals task_multipleselection voor een custom field multiple selection op taken:

Teamleader multiple selection view

De laatste twee kolommen bevat de ID van de waardes en de tekstuele representatie. De rest van de velden zijn de velden van de meervoudstabel, in dit geval Tasks.

De automatisch opgestelde SQL van de view tasks_multipleselectionall is:

select m.*
,      c.c_multipleselection_id c_id label '{res:itgen_custom_field_id}'
,      c.c_multipleselection_value c_value label '{res:itgen_custom_field_value}'
from   Teamleader.V1.tasks m
join   Teamleader.V1.task_multipleselection(m.id) c

In Microsoft Power BI kunnen de nieuwe views meteen gebruikt worden.