Skip to content
Snippets Groups Projects
Unverified Commit e864b1f3 authored by Alexander Polyankin's avatar Alexander Polyankin Committed by GitHub
Browse files

Make it possible to convert relative filters to expressions (#22456)

parent 5e2e4a40
No related branches found
No related tags found
No related merge requests found
......@@ -226,12 +226,22 @@ export const MBQL_CLAUSES = {
type: "boolean",
args: ["expression", "expression", "expression"],
},
interval: {
displayName: "timeSpan",
type: "number",
args: ["number", "string"],
},
"time-interval": {
displayName: `interval`,
type: "boolean",
args: ["expression", "number", "string"],
hasOptions: true,
},
"relative-datetime": {
displayName: "relativeDateTime",
type: "expression",
args: ["number", "string"],
},
"is-null": {
displayName: `isnull`,
type: "boolean",
......
......@@ -440,6 +440,22 @@ const helperTextStrings = [
{ name: t`end`, description: t`The end of the range.` },
],
},
{
name: "interval",
structure: "timeSpan(" + t`number` + ", " + t`text` + ")",
description: t`Gets a time interval of specified length`,
example: 'timeSpan(7, "day")',
args: [
{
name: t`number`,
description: t`Period of interval, where negative values are back in time.`,
},
{
name: t`text`,
description: t`Type of interval like "day", "month", "year".`,
},
],
},
{
name: "time-interval",
structure:
......@@ -461,6 +477,22 @@ const helperTextStrings = [
},
],
},
{
name: "relative-datetime",
structure: "relativeDateTime(" + t`number` + ", " + t`text` + ")",
description: t`Gets a timestamp relative to the current time`,
example: 'relativeDateTime(-30, "day")',
args: [
{
name: t`number`,
description: t`Period of interval, where negative values are back in time.`,
},
{
name: t`text`,
description: t`Type of interval like "day", "month", "year".`,
},
],
},
{
name: "is-null",
structure: "isnull(" + t`column` + ")",
......
......@@ -147,6 +147,7 @@ describe("metabase/lib/expression/suggest", () => {
[
{ text: "True", type: "literal" },
{ text: "[Total] ", type: "fields" },
{ text: "timeSpan(", type: "functions" },
{ text: "trim(", type: "functions" },
].sort(suggestionSort),
);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment