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 inCompanies
). - relatie naar contactpersoon: een kolomnaam eindigend op
_contact_id
(zoek de contactpersoon terug inContacts
) - 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:
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:
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.