PRQL language preview
1. Filter and select
transform keywords, comparisons, and column lists
horizon-dark
from employees
filter department == "Sales"
select [name, salary, country] atom-one-dark
from employees
filter department == "Sales"
select [name, salary, country] github-dark
from employees
filter department == "Sales"
select [name, salary, country] dracula
from employees
filter department == "Sales"
select [name, salary, country] nord
from employees
filter department == "Sales"
select [name, salary, country] github
from employees
filter department == "Sales"
select [name, salary, country] 2. Derived columns and aggregation
derive, group, and aggregate functions
horizon-dark
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 atom-one-dark
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 github-dark
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 dracula
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 nord
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 github
from employees
derive [
gross_salary = salary + payroll_tax,
gross_cost = gross_salary + benefits_cost,
]
group [title, country] (
aggregate [
average salary,
ct = count this,
]
)
sort [-ct]
take 1..20 3. String interpolation
f-strings, s-strings, and date literals
horizon-dark
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees" atom-one-dark
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees" github-dark
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees" dracula
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees" nord
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees" github
from employees
filter start_date > @2020-01-01
derive greeting = f"Hello, {name}!"
derive raw = s"SELECT * FROM employees"