Dit artikel is vertaald met behulp van AI en kan kleine onnauwkeurigheden bevatten. Raadpleeg de Engelse versie voor volledige nauwkeurigheid.
Datumconversies
Bij het importeren van datumvelden met de DataCollector kun je problemen tegenkomen met het datumformaat. Er zijn veel manieren om een datum weer te geven, bijvoorbeeld:
14-03-2023
14-3-2023
14 maart 2023
2023/03/14
03/14/2023
Stel dat je gegevens uit een Excel-sheet wilt importeren. Het formaat van datums, zoals aangeboden door de DataCollector aan BlueDolphin, hangt af van veel factoren: het daadwerkelijke formaat van de ruwe data in Excel, de manier waarop datums worden weergegeven in Excel (celopmaak), je Microsoft Office taal- en regio-instellingen en de taal- en regio-instellingen van het besturingssysteem.
Meestal ziet je SELECT-statement in de DataCollector er als volgt uit:
SELECT * FROM [tablename$]
Hier is “tablename” de naam van het werkblad in je Excel-bestand. Door simpelweg ‘alle’ kolommen te selecteren met '*', moet de DataCollector het formaat van datumvelden ‘raden’. Als datums niet in het juiste formaat in BlueDolphin worden geïmporteerd, blijven de vragenvelddatums leeg. Het kan lastig zijn om op deze manier datums te importeren. Gelukkig is er een eenvoudige oplossing.
Je kunt beter alle velden (= kolomnamen van je Excel) expliciet benoemen in het SELECT-statement en de Format()-functie gebruiken om het juiste datumformaat voor datumvelden af te dwingen.
Bijvoorbeeld:
Het voorbeeld van de select-query is:
SELECT [Title], [Application ID], [Application Owner], [Application Name], [Application Vendor], [Application Type], [Hosting Type], [More Info], [Application Description], Format([Contract Start Date], "dd-MM-yyyy") AS [Contract Start Date], Format([Contract End Date], "dd-MM-yyyy") AS [Contract End Date], Format([End-of-Life Date], "dd-MM-yyyy") AS [End-of-Life Date], Format([End-of-Service Date], "dd-MM-yyyy") AS [End-of-Service Date], [OPEX], [CAPEX], [Relative Cost Indication], [Connectivity], [Life Cycle Status]FROM [Applications$]
Alle datums voor Contract Start, Contract End, End-of-Life en End-of-Service worden nu expliciet omgezet naar “dd-MM-jjjj” (bijvoorbeeld: 14-03-2023). BlueDolphin accepteert dit datumformaat en de gegevensvelden worden correct gevuld.
Data filteren vóór import
Hoewel we aanraden om de data in je bronsysteem zo schoon en correct mogelijk te houden, kan het handig zijn om filters te definiëren om selectief data uit te sluiten van de import. Dit kun je doen door logische voorwaarden toe te voegen aan de WHERE-clausule van het SELECT-statement. Enkele voorbeelden:
Alleen actieve applicaties selecteren
SELECT [Title], [Application ID], ... [Life Cycle Status]FROM [Applications$]WHERE [Life Cycle Status] = 'Active'
Records zonder applicatienaam weglaten
SELECT [Title], [Application ID], [Application Name], ...FROM [Applications$]WHERE [Application Name] IS NOT NULL
Alleen applicaties selecteren boven een bepaalde kostenlimiet
SELECT [Title], [Application ID], ... [OPEX], ...FROM [Applications$]WHERE [OPEX] >= 10000
Alles combineren met logische expressies
SELECT [Title], [Application ID], [Application Name], ... [OPEX], ... [Life Cycle Status]FROM [Applications$]WHERE [OPEX] >= 10000 AND [Life Cycle Status] = 'Active' AND [Application Name] IS NOT NULL
Data bewerken vóór import
Op een vergelijkbare manier kun je data bewerken voordat je deze importeert. Enkele voorbeelden:
Jaarlijkse kosten berekenen op basis van maandelijkse licentiekosten
SELECT [Title], [Application ID], ... [Monthly License Costs] * 12 AS [OPEX], ...FROM [Applications$]WHERE ...
De brondata (bijvoorbeeld een Excel-bestand) heeft een kolom genaamd ‘Monthly License Costs’. Deze wordt vermenigvuldigd met 12 om de jaarlijkse operationele kosten te berekenen. De uitkomst wordt opgeslagen in een kolom genaamd ‘OPEX’.
Tekstwaarden samenvoegen
SELECT [Title], [Application ID], ... CONCAT([FirstName], ' ', [LastName]) AS [Application Owner]), ...FROM [Applications$]WHERE ...
Met de CONCAT()-functie worden voor- en achternaam aan elkaar geplakt en opgeslagen in een kolom met de naam [Application Owner]. Let op de spatie tussen de twee waarden.
Meer lezen
Bekijk de documentatie van W3Schools voor meer informatie. Enkele tips:
SELECT-statement: https://www.w3schools.com/sql/sql_where.asp
WHERE-clausule: https://www.w3schools.com/sql/sql_where.asp
Logische expressies: https://www.w3schools.com/sql/sql_and_or.asp
Datumtypes: https://www.w3schools.com/sql/sql_dates.asp
