Excel er et fantastisk værktøj. Jeg elsker det. Men lad os sige, at du vil lege med masser af data fra mange forskellige filer, og du vil lave mange handlinger på disse data. Eller måske skal du vedligeholde data, der bliver indtastet og opdateret fra mange forskellige kilder og i høj frekvens. Bare nogle grunde til, hvorfor det måske er på tide for dig at gå videre til en SQL-database. I denne artikel viser jeg, hvordan du kan implementere 40 almindelige Excel-operationer i SQL.
Fordele ved at arbejde med SQL i stedet for Excel
At arbejde med en SQL-database har mange fordele i forhold til Excel:
- Mere skalerbar
- Højere grad af dataintegritet
- Sikkerhed
- Samarbejde
- Automatisering
SQL er designet til at håndtere store datasæt og komplekse forespørgsler, hvorimod Excel kan have svært ved at håndtere store mængder data eller komplekse beregninger. Der er større risiko for fejl og uoverensstemmelser i Excel. Dette skyldes hovedsageligt f.eks. manuel dataindtastning og/eller manipulation. Der er også en øget risiko for datatyveri eller korruption, når du arbejder med Excel – på grund af manglen på sikkerhedsfunktioner.
SQL-databaser er designet til at sikre dataintegritet, hvilket betyder, at dataene er konsistente og nøjagtige. De kan desuden sikres med adgangskoder og brugertilladelser, hvilket giver større kontrol over, hvem der kan få adgang til og ændre data. SQL-databaser kan tilgås og opdateres af flere brugere samtidigt, hvilket gør det nemmere for teams at samarbejde og dele data. I Excel skal flere brugere muligvis arbejde på separate kopier af en fil, hvilket fører til problemer med versionskontrol. SQL giver mulighed for automatisering af gentagne opgaver og processer, såsom datarensning og formatering, ved hjælp af scripts og lagrede procedurer. I Excel kræver disse opgaver ofte manuel input og kan være tidskrævende.
Almindelige Excel-operationer og deres SQL-implementering
Her er en hurtig liste over almindelige operationer i SQL, der vil implementere nogle almindelige Excel-operationer.
- Opret et nyt regneark:
CREATE TABLE [Sheet1]
- Omdøb et regneark:
ALTER TABLE [Sheet1] RENAME TO [NewSheetName]
- Slet et regneark:
DROP TABLE [Sheet1]
- Vælg et celleområde:
SELECT * FROM [Sheet1$A1:C10]
- Sorter data i et interval:
SELECT * FROM [Sheet1$A1:C10] ORDER BY Column1 ASC
- Filtrer data i et område:
SELECT * FROM [Sheet1$A1:C10] WHERE Column1 = 'value'
- Fjern dubletter i et område:
SELECT DISTINCT * FROM [Sheet1$A1:C10]
- Tæl antallet af rækker i et område:
SELECT COUNT(*) FROM [Sheet1$A1:C10]
- Sum en række tal:
SELECT SUM(Column1) FROM [Sheet1$A1:C10]
- Beregn gennemsnittet af en række tal:
SELECT AVG(Column1) FROM [Sheet1$A1:C10]
- Find den maksimale værdi i et interval:
SELECT MAX(Column1) FROM [Sheet1$A1:C10]
- Find minimumsværdien i et interval:
SELECT MIN(Column1) FROM [Sheet1$A1:C10]
- Indsæt en ny række:
INSERT INTO [Sheet1] (Column1, Column2) VALUES ('value1', 'value2')
- Opdater en celleværdi:
UPDATE [Sheet1$A1] SET Column1 = 'new value'
- Ryd en celleværdi:
UPDATE [Sheet1$A1] SET Column1 = NULL
- Slet en række:
DELETE FROM [Sheet1] WHERE Column1 = 'value'
- Kopier et celleområde:
SELECT * INTO [NewSheet1$A1:C10] FROM [Sheet1$A1:C10]
- Klip en række celler:
SELECT * INTO [NewSheet1$A1:C10] FROM [Sheet1$A1:C10]
DROP TABLE [Sheet1$A1:C10]
- Indsæt kopierede/klippe celler:
SELECT * INTO [Sheet1$A1:C10] FROM [NewSheet1$A1:C10]
- Frys ruder:
SELECT * INTO [Sheet1$A1:C10] FROM [Sheet1$A1:C10]
ALTER TABLE [Sheet1] SET (FREEZE_PANES = 'A2')
- Skjul en kolonne:
ALTER TABLE [Sheet1] HIDE COLUMN Column1
- Vis en kolonne:
ALTER TABLE [Sheet1] UNHIDE COLUMN Column1
- Skjul en række:
ALTER TABLE [Sheet1] HIDE ROW 1
- Vis en række:
ALTER TABLE [Sheet1] UNHIDE ROW 1
- Gruppér rækker eller kolonner:
ALTER TABLE [Sheet1] GROUP BY Column1
- Ophæv gruppering af rækker eller kolonner:
ALTER TABLE [Sheet1] UNGROUP BY Column1
- Opret en pivottabel:
SELECT Column1, SUM(Column2) FROM [Sheet1$A1:C10] GROUP BY Column1
- Opdater en pivottabel:
REFRESH TABLE [PivotTable1]
- Opret et diagram:
SELECT Column1, Column2 INTO [Chart1] FROM [Sheet1$A1:B10]
CREATE CHART [ColumnChart] AS SELECT * FROM [Chart1]
- Tilføj en diagramtitel:
ALTER CHART [ColumnChart] SET (TITLE = 'Chart Title')
- Skift diagramtype:
ALTER CHART [ColumnChart] SET (TYPE = 'LineChart')
- Formater diagramakse:
ALTER CHART [ColumnChart] SET (X_AXIS_FORMAT = 'dd/mm/yyyy')
- Formater diagramforklaring:
ALTER CHART [ColumnChart] SET (LEGEND_FORMAT = 'Bottom')
- Beskyt et regneark:
ALTER TABLE [Sheet1] SET (PROTECTION = 'Password')
- Fjern beskyttelsen af et regneark:
ALTER TABLE [Sheet1] SET (PROTECTION = NULL)
- Beskyt en projektmappe:
ALTER WORKBOOK SET (PROTECTION = 'Password')
- Fjern beskyttelsen af en projektmappe:
ALTER WORKBOOK SET (PROTECTION = NULL)
- Flet celler:
UPDATE [Sheet1$A1:B1] SET Column1 = 'Merged Cells'
- Fjern fletning af celler:
UPDATE [Sheet1$A1:B1] SET Column1 = 'Cell1', Column2 = 'Cell2'
- Indsæt en kommentar:
INSERT INTO [Sheet1$A1] (Comment) VALUES ('Comment Text')
Du kan lære mere om SQL-databaser og hvordan du kommer i gang med SQL her på SCDA-bloggen.
Relateret indhold
Hvis du er interesseret i at lære SQL, er her noget dokumentation for at komme i gang:
- Link : SQLite-databaser og datatabeller i Python
- Link : Python SELECT-sætning i SQLite3-databasen
- Link : Tilføjelse af poster til SQLite 3-databasen i Python
- Link : SQLite INTERSECT-operator
- Link : SQLite UNDTAGET operator
- Link : SQLite HAVING
- Link : SQLite-aggregatfunktioner
- Link : SQLite GROUP BY-klausul
- Link : SQLite SELF-JOIN klausul
- Link : SQLite CROSS JOIN klausul
- Link : SQLite GLOB-operatør
- Link : SQLite ER NULL-operator
- Link : SQLite LIKE operator
- Link : SQLite IN-operator
- Link : SQLite MELLEM operator
- Link : SQLite LIMIT klausul
- Link : SQLite SELECT DISTINCT-sætning
- Link : SQLite DROP TABLE-sætning
- Link : SQLite DELETE-sætning
- Link : SQLite ORDER BY klausul
- Link : SQLite UNION ALL-sætning
- Link : SQLite UNION-sætning
- Link : SQLite WHERE-klausul
Industriingeniør som gerne beskæftiger sig med optimering, simulation og matematisk modellering i R, SQL, VBA og Python
Leave a Reply