diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b0662d..95e2537 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ Changes to the model, the data, the tests and the method, newest first. A change ## 0.9-draft, 2026-11-04 +- DuckDB gets no help with incremental calculation any more. `duckdb-tables` keeps its calculated tables as ordinary durable tables in the database file instead of in-memory `TEMP` tables, and every write, load of new data or model change recalculates all of them, with `sql/calculate.sql`, instead of only the tables the change reaches. R8 opens the file and builds nothing. DuckDB has no incremental calculation, and the benchmark shows that gap instead of compensating for it. The `rebuild/` SQL is gone from the entry. The ClickHouse and PostgreSQL entries are not changed. The DuckDB results published so far are from the earlier setup and are being measured again. +- The `duckdb-tables` write, increment load (L2), master data change (L3) and model changes (M1 to M4) commit their input change together with `calculated = false` in a one-row table, `calc_state`. They then calculate every table outside any transaction, one commit per table, and commit `calculated = true` last. An open that finds `calculated = false`, because the process died in a recalculation, calculates every table again before the first read, so after a crash the first open pays one full recalculation. R8 normally builds nothing. One transaction around the input change and the recalculation was tried first: on an n2d-standard-4 one recalculation took about 271 s inside the transaction against about 4 s outside, so a 10m run would have taken about 20 hours. +- New `duckdb-tables` results at 10m and 100m, on an n2d-standard-4, from FPABench with #53. Every test passed. The whole run took 11.4 min at 10m and 56.7 min at 100m. A write, a load of new data, a master data change and a model change each take about one full recalculation, 3.6 s at 10m and 17.5 s at 100m, and R8 takes 0.07 s and 0.08 s. The DuckDB results at 1b are from the earlier setup and are not measured again. +- `duckdb-tables` gets a Caveats section (its README, the results README and the website notice): recalculating inside one transaction costs far more than outside it, and DuckDB commits each statement by itself and has no materialized views or triggers, so the entry takes the fast but not atomic choice with a calculated flag. +- A test result can carry `"recalc": "full"`: the system has no incremental calculation, so it recalculated everything. The runner copies it from the test file's `recalc` export. The website shows such tests grey with diagonal stripes and the text "not supported - full recalc results", in the legend and in a tooltip, in both themes. The time stays in the score. Only the DuckDB entry sets it, on L2, L3, W1 to W8 and M1 to M4. `tests/method.md` defines it. - A new entry, `postgres-tables`: PostgreSQL 18 with one `UNLOGGED` table per calculated variable, built again after each change that reaches it (#42). The fixes from its review followed (#44, #45, #46, #49). Its calculated tables survive a clean stop, so its R8 starts without building them again, as `tests/method.md` allows for stored results. - First results for PostgreSQL 18.6, at 10m on an n2d-standard-4, from FPABench with #49. Every test passed, and the whole run took 17.3 minutes. Its loads, writes and model changes take 4 to 6 times as long as DuckDB's and ClickHouse's, and its R8 takes 0.06 s. There are no PostgreSQL results at 100m and 1b yet. diff --git a/model/lib/sql/generate.mjs b/model/lib/sql/generate.mjs index a464345..b0b43ce 100644 --- a/model/lib/sql/generate.mjs +++ b/model/lib/sql/generate.mjs @@ -6,9 +6,10 @@ // // schema.sql holds the empty tables and calculate.sql every calculated table. For each entry, members.sql, // dimensions.sql and import/.sql hold the load. PostgreSQL's L1 loads with load/.sql, the -// same without ON CONFLICT. rebuild/.sql holds what a write to an input -// variable must run. m1.sql and m4.sql are the migrations of tests M1 -// and M4: only what a database built from calculate.sql must run to reach the changed model. M2 and M3 change members only, and the +// same without ON CONFLICT. For an entry that rebuilds only what a write reaches, rebuild/.sql holds what a +// write to an input variable must run. An entry with `fullRecalc` has none: every write runs calculate.sql. +// m1.sql and m4.sql are the migrations of tests M1 and M4: only what a database built from calculate.sql must +// run to reach the changed model, or with `fullRecalc` the new tables and then all of calculate.sql. M2 and M3 change members only, and the // SQL never names a member that only the data brings, so they need no SQL of their own. The SQL does not depend // on the dataset: members the model names have fixed ids (see dict.mjs), and the Versions and Years come // from the data generator's own settings in data/params.mjs. @@ -35,8 +36,10 @@ const system = { Months: MONTHS, }; -// Each entry and the translator options it uses. -const ENTRIES = { 'duckdb-tables': {}, 'clickhouse-tables': { dialect: 'clickhouse' }, 'postgres-tables': { dialect: 'postgres' } }; +// Each entry and the translator options it uses. `fullRecalc` is for an entry whose system has no incremental +// calculation: it runs all of calculate.sql after every change, so it gets no rebuild/ files and its +// migrations build every table. +const ENTRIES = { 'duckdb-tables': { fullRecalc: true }, 'clickhouse-tables': { dialect: 'clickhouse' }, 'postgres-tables': { dialect: 'postgres' } }; const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'fpabench-sql-')); const MODELS = { base: path.join(root, 'model'), @@ -225,7 +228,7 @@ const WHOLE = [ const files = new Map(); const stmts = (text) => new Set(text.split(/;\s*\n/).map((x) => x.trim()).filter(Boolean)); -for (const [entry, options] of Object.entries(ENTRIES)) { +for (const [entry, { fullRecalc = false, ...options }] of Object.entries(ENTRIES)) { const dialect = options.dialect ?? 'duckdb'; const make = (dir) => { const model = loadModel(dir); @@ -250,7 +253,7 @@ for (const [entry, options] of Object.entries(ENTRIES)) { for (const [rel, text] of Object.entries(load(model, newDict(model, system)))) files.set(`${entry}/sql/${rel}`, text); // What a write to each input variable must run: every calculated table that reads it, directly or // through other tables, in dependency order. - for (const v of model.variables.filter((v) => !v.formula && !v.measure)) { + for (const v of fullRecalc ? [] : model.variables.filter((v) => !v.formula && !v.measure)) { const steps = base.rebuildSql(new Set([v.name])); const names = base.calculated.filter((n, i) => steps.includes(base.tables[i])); files.set( @@ -282,17 +285,19 @@ for (const [entry, options] of Object.entries(ENTRIES)) { if (next.lookups.trim() !== base.lookups.trim()) throw new Error(`${name} changes the dimension lookups, which a migration does not do yet`); const newSchema = [...stmts(next.schema)].filter((x) => !baseSchema.has(x)); const changed = next.calculated.filter((v, i) => baseTable.get(v) !== next.tables[i].trim()); - const steps = next.rebuildSql(new Set(changed)); - const stepNames = next.calculated.filter((v, i) => steps.includes(next.tables[i])); + // With fullRecalc every table is built again, after the dimension lookups, as calculate.sql does. + const steps = fullRecalc ? next.tables : next.rebuildSql(new Set(changed)); + const stepNames = fullRecalc ? next.calculated : next.calculated.filter((v, i) => steps.includes(next.tables[i])); files.set( `${entry}/sql/${name}.sql`, [ `-- Generated by model/lib/sql/generate.mjs: the migration of test ${name.toUpperCase()}, ${dialect} dialect. Do not edit.`, - `-- It takes a database built from calculate.sql to the changed model. New or changed tables: ${changed.length}. Statements: ${steps.length}.\n`, + `-- It takes a database built from calculate.sql to the changed model. New or changed tables: ${changed.length}. ${fullRecalc ? `Every one of the ${steps.length} calculated tables is built again.` : `Statements: ${steps.length}.`}\n`, '-- @schema: new input tables', newSchema.map((x) => `${x};`).join('\n'), '', - ...stepNames.map((v, i) => `-- @table ${JSON.stringify(v)}${changed.includes(v) ? '' : ' (reads a changed table)'}\n${steps[i].trim()}\n`), + ...(fullRecalc ? ['-- @recalculate: every calculated table, built again', '-- The dimension lookups: one flattened table per dimension.', next.lookups.trim(), ''] : []), + ...stepNames.map((v, i) => `-- @table ${JSON.stringify(v)}${fullRecalc || changed.includes(v) ? '' : ' (reads a changed table)'}\n${steps[i].trim()}\n`), ].join('\n') ); files.set(`${entry}/sql/${name}.json`, JSON.stringify({ model: name, dialect, system, changed, tables: stepNames }, null, 1) + '\n'); diff --git a/model/lib/sql/translate.mjs b/model/lib/sql/translate.mjs index 829c2b3..08efbb2 100644 --- a/model/lib/sql/translate.mjs +++ b/model/lib/sql/translate.mjs @@ -1,6 +1,7 @@ // Translates the FPABench model into SQL for DuckDB, ClickHouse or PostgreSQL: one table per input variable, and one // table per calculated variable, built in dependency order. Running the model SQL again after a write -// rebuilds them all. +// rebuilds them all. `rebuildSql` also gives the dependency-ordered subset a change reaches, for the entries +// that rebuild only that. // // Neither system can keep a derived table current by itself. DuckDB has no materialized views and no // triggers. ClickHouse's materialized views react to inserts into one table only. Plain views give the @@ -50,11 +51,12 @@ export function translate(model, { versions, years, dialect = 'duckdb', dict }) const list = (d, xs) => (CH ? `arrayJoin([${xs.map((x) => mid(d, x)).join(', ')}])` : `unnest(${PG ? 'ARRAY' : ''}[${xs.map((x) => mid(d, x)).join(', ')}])`); // ClickHouse forces every new part to disk, so writes are durable, as DuckDB's are by default. const DURABLE = "SETTINGS fsync_after_insert = 1, fsync_part_directory = 1"; - // Calculated tables live in memory: DuckDB TEMP tables, ClickHouse Memory tables. PostgreSQL's are - // UNLOGGED tables, which skip the write-ahead log, since its TEMP tables belong to one session. Only the inputs need - // to survive a crash, since every calculated table can be built again from them. After a restart DuckDB and - // ClickHouse build them again on start, and that time counts in R8. PostgreSQL keeps UNLOGGED tables over a - // clean restart, and empties them only in crash recovery. + // DuckDB's calculated tables are ordinary tables in the database file, so they are as durable as the inputs and + // nothing is built again on start. ClickHouse's are Memory tables. PostgreSQL's are UNLOGGED tables, which skip the + // write-ahead log, since its TEMP tables belong to one session. Only the inputs need to survive a crash there, + // since every calculated table can be built again from them. After a restart ClickHouse builds them again on + // start, and that time counts in R8. PostgreSQL keeps UNLOGGED tables over a clean restart, and empties them only + // in crash recovery. // In ClickHouse the table is created first with plain column types, then filled. A table created from the // SELECT would get Nullable columns from join_use_nulls, and Nullable columns are slower to read. // insert_null_as_default = 0 makes a NULL fail the insert instead of turning into 0. @@ -67,7 +69,7 @@ export function translate(model, { versions, years, dialect = 'duckdb', dict }) : PG ? `DROP TABLE IF EXISTS ${name}; CREATE UNLOGGED TABLE ${name} WITH (autovacuum_enabled = false) AS` - : `CREATE OR REPLACE TEMP TABLE ${name} AS`; + : `CREATE OR REPLACE TABLE ${name} AS`; // PostgreSQL plans each statement from the statistics of the tables it reads, and a new table has none until // autovacuum gets to it. So each calculated table is analyzed as soon as it is built. At 10m a full rebuild // took 76 s without this, and 15 s with it. @@ -624,7 +626,7 @@ CREATE UNLOGGED TABLE ${name} WITH (autovacuum_enabled = false) AS` const calc = model.order.filter((v) => v.formula && !v.measure); const tables = calc.map((v) => `-- ${v.name} = ${v.formula.replace(/\s+/g, ' ')}\n${translateVariable(v)}${analyze(rel(v))}`); - // What each calculated table reads, so a write can rebuild only the tables it reaches. + // What each calculated table reads, so an entry can rebuild only the tables a write reaches. const reads = new Map(calc.map((v) => [v.name, new Set([...nodesOf(parseFormula(v.formula))].filter((n) => n.type === 'name').map((n) => model.variable(n.name).name))])); const flats = flatSql(); /** diff --git a/results/README.md b/results/README.md index 3259514..098ee80 100644 --- a/results/README.md +++ b/results/README.md @@ -10,94 +10,94 @@ At 10m and 100m each entry ran on its own Google Cloud `n2d-standard-4` in europ | --- | --- | --- | --- | --- | | `rama` 2.0 | RAMA 2.0.0-7528851.0, release build | 2026-11-03, FPABench with #41 | yes | in process | | `rama` 1.9 | RAMA 1.9.0-c9c20e7.0, release build | 2026-10-24, FPABench with #40 | yes | in process | -| `duckdb-tables` | DuckDB 1.5.6, `@duckdb/node-api` 1.5.6-r.1 | 2026-10-24, FPABench with #40 | inputs yes, calculated tables in memory | in process | +| `duckdb-tables` | DuckDB 1.5.6, `@duckdb/node-api` 1.5.6-r.1 | 2026-11-05, FPABench with #53, at 10m and 100m. The 1b times are from 2026-10-24, with the earlier setup | yes, inputs and calculated tables; a marker makes an open after a crash calculate the tables again, so no stale reads | in process | | `clickhouse-tables` | ClickHouse 26.9.16.11, `@clickhouse/client` 1.23.1 | 2026-10-24, FPABench with #40 | inputs yes, calculated tables in memory | one server on the same machine | | `postgres-tables` | PostgreSQL 18.6, `pg` 8.23.1 | 2026-11-03, FPABench with #49, at 10m only | inputs yes, calculated tables `UNLOGGED` | one server on the same machine | RAMA 2.0 reads grouped reads with one `GROUPED_READ` command (#41). RAMA 1.9 lists the combinations with `generateCombinations` and reads them with one `query` call. Everything else in the RAMA entry is the same for both versions. -The SQL entries rebuild only the calculated tables a change reaches, and use integer member ids. The method may count that dependency logic as tuning. That is not decided yet. ClickHouse runs with the two settings it needs to keep missing values missing, plus `join_algorithm = 'hash'`, and keeps the translator's join order. PostgreSQL runs with every server setting at its default. Its calculated tables are `UNLOGGED` tables, which a clean stop keeps, so its R8 starts without building them again. DuckDB's and ClickHouse's calculated tables live in memory and are built again on every start. Settings are in each system's README. +DuckDB has no incremental calculation, so its entry recalculates every calculated table after a write, a load of new data or a model change, and keeps the calculated tables in the database file like the inputs. Its tests that do this are marked `recalc: 'full'` and the website shows them grey and striped, as "not supported - full recalc results". The numbers stay in the scores. The DuckDB times at 10m and 100m were measured on 2026-11-05 with this setup. The DuckDB times at 1b were measured on 2026-10-24 with the earlier setup, calculated tables in memory and only the tables a change reaches rebuilt: they are not full recalculation results, they carry no mark, and 1b has not been measured again. A write on DuckDB takes about as long as one full recalculation, 3.6 s at 10m and 17.5 s at 100m, whichever cell it changes. The ClickHouse and PostgreSQL entries rebuild only the calculated tables a change reaches, and use integer member ids, as DuckDB does. The method may count that dependency logic as tuning. That is not decided yet, and it is not marked as a full recalculation. ClickHouse runs with the two settings it needs to keep missing values missing, plus `join_algorithm = 'hash'`, and keeps the translator's join order. PostgreSQL runs with every server setting at its default. Its calculated tables are `UNLOGGED` tables, which a clean stop keeps, so its R8 starts without building them again. ClickHouse's calculated tables live in memory and are built again on every start. DuckDB's are in its database file, so its R8 builds nothing. Settings are in each system's README. Seconds. A write is the median of up to 20 writes after one warm-up, each to a fresh cell, with the 95th percentile after it. Fewer cells fit some pick rules: W4 has 19 writes at 10m, W5 17 at both sizes, and W8 7 at 10m and 11 at 100m. A load, bulk write or model change is the median of 3 runs. A read is the median of 5 runs after a restore. R8 is the median of 3 runs, each from a stopped system, and its time includes the start. ## 10m -Manifest SHA-256 `ea6f5dc3…`. Run times: RAMA 2.0 1.3 min, RAMA 1.9 1.5 min, DuckDB 4.3 min, ClickHouse 5.9 min, PostgreSQL 17.3 min. RAMA 2.0's peak memory was 0.55 GB. Every entry passed every test. +Manifest SHA-256 `ea6f5dc3…`. Run times: RAMA 2.0 1.3 min, RAMA 1.9 1.5 min, DuckDB 11.4 min, ClickHouse 5.9 min, PostgreSQL 17.3 min. RAMA 2.0's peak memory was 0.55 GB, and DuckDB's, for the system and the runner, 0.69 GB. Every entry passed every test. | Test | RAMA 2.0 | RAMA 1.9 | DuckDB (tables) | ClickHouse (tables) | PostgreSQL (tables) | | --- | ---: | ---: | ---: | ---: | ---: | -| L1 Initial load | 3.78 | 4.87 | 4.4 | 6.29 | 22.4 | -| L2 Monthly close | 0.695 | 0.876 | 2.76 | 3.17 | 15 | -| L3 Change a weight in master data | 0.116 | 0.168 | 0.333 | 0.408 | 1.84 | -| W1 Type one volume | 0.0865 (0.106) | 0.0973 (0.121) | 1.27 (1.28) | 1.5 (1.56) | 8.08 (8.19) | -| W2 Paste 1,000 volumes at once | 0.323 | 0.542 | 1.33 | 1.89 | 8.22 | -| W3 Change a rebate rate | 0.0313 (0.041) | 0.0339 (0.0443) | 0.409 (0.425) | 0.445 (0.464) | 2.52 (2.57) | -| W4 Raise a brand's price | 0.229 (0.308) | 0.279 (0.387) | 1.01 (1.04) | 1.24 (1.4) | 7.04 (7.24) | -| W5 Change a planning exchange rate | 0.0442 (0.0491) | 0.0509 (0.0576) | 0.341 (0.353) | 0.433 (0.508) | 2.14 (2.2) | -| W6a Change the cost of a warehouse | 0.0121 (0.0146) | 0.0138 (0.0165) | 0.263 (0.279) | 0.37 (0.464) | 1.56 (1.57) | -| W6b Change the cost of an office | 0.00669 (0.00828) | 0.00782 (0.01) | 0.264 (0.279) | 0.405 (0.425) | 1.55 (1.57) | -| W7 Set a yearly target | 0.0927 (0.13) | 0.109 (0.144) | 1.39 (1.48) | 1.52 (1.61) | 8.18 (8.23) | -| W8 Flip a yearly bonus | 0.0365 (0.0524) | 0.0467 (0.0587) | 0.394 (0.42) | 0.501 (0.639) | 2.42 (2.45) | -| R1 Company P&L | 0.000617 | 0.00375 | 0.00228 | 0.0045 | 0.0139 | -| R2a P&L by brand | 0.000483 | 0.00612 | 0.00259 | 0.00582 | 0.0141 | -| R2b P&L by channel | 0.000496 | 0.00178 | 0.00244 | 0.0047 | 0.0137 | -| R2c P&L by country, in its own currency | 0.000444 | 0.00211 | 0.0023 | 0.00453 | 0.0144 | -| R3 Plan against last year | 0.000822 | 0.00145 | 0.00496 | 0.0128 | 0.0403 | -| R4 Ratios | 0.0293 | 0.0415 | 0.0357 | 0.0414 | 0.053 | -| R5 Drill to the detail | 0.00267 | 0.00648 | 0.0272 | 0.0587 | 0.076 | -| R6 Margin by product attributes | 0.00044 | 0.00593 | 0.00361 | 0.00623 | 0.0127 | -| R7 Top customers | 0.000126 | 0.000245 | 0.00222 | 0.00464 | 0.00436 | -| R8 Open the model | 0.195 | 0.199 | 2.32 | 3.42 | 0.0602 | -| M1 Change a formula | 0.385 | 0.858 | 0.272 | 0.327 | 1.71 | -| M2 Add a customer | 0.304 | 0.552 | 2.27 | 2.8 | 13.3 | -| M3 Move a customer to another group | 0.528 | 1.01 | 2.32 | 2.74 | 13.3 | -| M4 Allocate one more cost | 0.36 | 0.739 | 0.224 | 0.3 | 1.36 | +| L1 Initial load | 3.78 | 4.87 | 5.72 | 6.29 | 22.4 | +| L2 Monthly close | 0.695 | 0.876 | 4.04 | 3.17 | 15 | +| L3 Change a weight in master data | 0.116 | 0.168 | 3.66 | 0.408 | 1.84 | +| W1 Type one volume | 0.0865 (0.106) | 0.0973 (0.121) | 3.65 (3.79) | 1.5 (1.56) | 8.08 (8.19) | +| W2 Paste 1,000 volumes at once | 0.323 | 0.542 | 3.69 | 1.89 | 8.22 | +| W3 Change a rebate rate | 0.0313 (0.041) | 0.0339 (0.0443) | 3.67 (3.75) | 0.445 (0.464) | 2.52 (2.57) | +| W4 Raise a brand's price | 0.229 (0.308) | 0.279 (0.387) | 3.63 (3.81) | 1.24 (1.4) | 7.04 (7.24) | +| W5 Change a planning exchange rate | 0.0442 (0.0491) | 0.0509 (0.0576) | 3.63 (3.88) | 0.433 (0.508) | 2.14 (2.2) | +| W6a Change the cost of a warehouse | 0.0121 (0.0146) | 0.0138 (0.0165) | 3.66 (3.8) | 0.37 (0.464) | 1.56 (1.57) | +| W6b Change the cost of an office | 0.00669 (0.00828) | 0.00782 (0.01) | 3.66 (3.82) | 0.405 (0.425) | 1.55 (1.57) | +| W7 Set a yearly target | 0.0927 (0.13) | 0.109 (0.144) | 3.65 (3.8) | 1.52 (1.61) | 8.18 (8.23) | +| W8 Flip a yearly bonus | 0.0365 (0.0524) | 0.0467 (0.0587) | 3.65 (3.77) | 0.501 (0.639) | 2.42 (2.45) | +| R1 Company P&L | 0.000617 | 0.00375 | 0.00283 | 0.0045 | 0.0139 | +| R2a P&L by brand | 0.000483 | 0.00612 | 0.00309 | 0.00582 | 0.0141 | +| R2b P&L by channel | 0.000496 | 0.00178 | 0.00252 | 0.0047 | 0.0137 | +| R2c P&L by country, in its own currency | 0.000444 | 0.00211 | 0.00311 | 0.00453 | 0.0144 | +| R3 Plan against last year | 0.000822 | 0.00145 | 0.00762 | 0.0128 | 0.0403 | +| R4 Ratios | 0.0293 | 0.0415 | 0.0334 | 0.0414 | 0.053 | +| R5 Drill to the detail | 0.00267 | 0.00648 | 0.03 | 0.0587 | 0.076 | +| R6 Margin by product attributes | 0.00044 | 0.00593 | 0.0051 | 0.00623 | 0.0127 | +| R7 Top customers | 0.000126 | 0.000245 | 0.00261 | 0.00464 | 0.00436 | +| R8 Open the model | 0.195 | 0.199 | 0.0706 | 3.42 | 0.0602 | +| M1 Change a formula | 0.385 | 0.858 | 3.59 | 0.327 | 1.71 | +| M2 Add a customer | 0.304 | 0.552 | 3.62 | 2.8 | 13.3 | +| M3 Move a customer to another group | 0.528 | 1.01 | 3.62 | 2.74 | 13.3 | +| M4 Allocate one more cost | 0.36 | 0.739 | 3.75 | 0.3 | 1.36 | | C1 to C3, the checks without a timer | ok | ok | ok | ok | ok | ## 100m -Manifest SHA-256 `35ca0575…`. Run times: RAMA 2.0 8.5 min, RAMA 1.9 10.9 min, DuckDB 21.0 min, ClickHouse 14.2 min. RAMA 2.0's peak memory was 3.4 GB of the 16 GB. Every entry passed every test. +Manifest SHA-256 `35ca0575…`. Run times: RAMA 2.0 8.5 min, RAMA 1.9 10.9 min, DuckDB 56.7 min, ClickHouse 14.2 min. RAMA 2.0's peak memory was 3.4 GB of the 16 GB, and DuckDB's, for the system and the runner, 2.2 GB. Every entry passed every test. | Test | RAMA 2.0 | RAMA 1.9 | DuckDB (tables) | ClickHouse (tables) | | --- | ---: | ---: | ---: | ---: | -| L1 Initial load | 33.5 | 46.2 | 21 | 12.5 | -| L2 Monthly close | 6.21 | 8.07 | 12.1 | 7.17 | -| L3 Change a weight in master data | 1.3 | 2.05 | 1.81 | 0.917 | -| W1 Type one volume | 0.167 (0.414) | 0.4 (0.657) | 7.03 (8.99) | 4.44 (4.49) | -| W2 Paste 1,000 volumes at once | 2.39 | 4.41 | 7.27 | 4.83 | -| W3 Change a rebate rate | 0.107 (0.369) | 0.138 (0.424) | 2.17 (2.2) | 1.31 (1.34) | -| W4 Raise a brand's price | 2.04 (2.49) | 2.66 (3.13) | 5.3 (5.45) | 3.71 (3.81) | -| W5 Change a planning exchange rate | 0.415 (0.626) | 0.533 (0.759) | 1.84 (1.86) | 1.12 (1.2) | -| W6a Change the cost of a warehouse | 0.0588 (0.0721) | 0.174 (0.191) | 1.14 (1.16) | 0.783 (0.838) | -| W6b Change the cost of an office | 0.00595 (0.00803) | 0.00661 (0.0086) | 1.15 (1.17) | 0.788 (0.797) | -| W7 Set a yearly target | 0.343 (0.856) | 0.707 (1.37) | 7.03 (7.08) | 4.51 (4.63) | -| W8 Flip a yearly bonus | 0.215 (0.299) | 0.261 (0.355) | 2.04 (2.23) | 1.32 (1.5) | -| R1 Company P&L | 0.000974 | 0.00471 | 0.00324 | 0.00547 | -| R2a P&L by brand | 0.00113 | 0.00999 | 0.00378 | 0.00608 | -| R2b P&L by channel | 0.000801 | 0.00208 | 0.00311 | 0.00586 | -| R2c P&L by country, in its own currency | 0.000743 | 0.00334 | 0.00314 | 0.00499 | -| R3 Plan against last year | 0.00159 | 0.0046 | 0.00754 | 0.0166 | -| R4 Ratios | 0.0622 | 0.078 | 0.0533 | 0.0464 | -| R5 Drill to the detail | 0.00788 | 0.0099 | 0.0441 | 0.0783 | -| R6 Margin by product attributes | 0.00373 | 0.102 | 0.0114 | 0.0148 | -| R7 Top customers | 0.000919 | 0.00324 | 0.00547 | 0.00704 | -| R8 Open the model | 1.34 | 1.28 | 10.1 | 7.5 | -| M1 Change a formula | 3.07 | 8.03 | 1.46 | 0.814 | -| M2 Add a customer | 1.9 | 4.25 | 10.1 | 6.73 | -| M3 Move a customer to another group | 2.83 | 8.97 | 10.3 | 6.63 | -| M4 Allocate one more cost | 1.86 | 6.16 | 0.916 | 0.64 | +| L1 Initial load | 33.5 | 46.2 | 27.4 | 12.5 | +| L2 Monthly close | 6.21 | 8.07 | 19 | 7.17 | +| L3 Change a weight in master data | 1.3 | 2.05 | 17.3 | 0.917 | +| W1 Type one volume | 0.167 (0.414) | 0.4 (0.657) | 17.4 (18.1) | 4.44 (4.49) | +| W2 Paste 1,000 volumes at once | 2.39 | 4.41 | 17.5 | 4.83 | +| W3 Change a rebate rate | 0.107 (0.369) | 0.138 (0.424) | 17.5 (17.9) | 1.31 (1.34) | +| W4 Raise a brand's price | 2.04 (2.49) | 2.66 (3.13) | 17.3 (17.9) | 3.71 (3.81) | +| W5 Change a planning exchange rate | 0.415 (0.626) | 0.533 (0.759) | 17.5 (17.9) | 1.12 (1.2) | +| W6a Change the cost of a warehouse | 0.0588 (0.0721) | 0.174 (0.191) | 17.6 (17.8) | 0.783 (0.838) | +| W6b Change the cost of an office | 0.00595 (0.00803) | 0.00661 (0.0086) | 17.5 (17.9) | 0.788 (0.797) | +| W7 Set a yearly target | 0.343 (0.856) | 0.707 (1.37) | 17.4 (17.9) | 4.51 (4.63) | +| W8 Flip a yearly bonus | 0.215 (0.299) | 0.261 (0.355) | 17.4 (17.7) | 1.32 (1.5) | +| R1 Company P&L | 0.000974 | 0.00471 | 0.00481 | 0.00547 | +| R2a P&L by brand | 0.00113 | 0.00999 | 0.00515 | 0.00608 | +| R2b P&L by channel | 0.000801 | 0.00208 | 0.00453 | 0.00586 | +| R2c P&L by country, in its own currency | 0.000743 | 0.00334 | 0.00465 | 0.00499 | +| R3 Plan against last year | 0.00159 | 0.0046 | 0.0112 | 0.0166 | +| R4 Ratios | 0.0622 | 0.078 | 0.0448 | 0.0464 | +| R5 Drill to the detail | 0.00788 | 0.0099 | 0.0546 | 0.0783 | +| R6 Margin by product attributes | 0.00373 | 0.102 | 0.0158 | 0.0148 | +| R7 Top customers | 0.000919 | 0.00324 | 0.00858 | 0.00704 | +| R8 Open the model | 1.34 | 1.28 | 0.0805 | 7.5 | +| M1 Change a formula | 3.07 | 8.03 | 17.5 | 0.814 | +| M2 Add a customer | 1.9 | 4.25 | 17.5 | 6.73 | +| M3 Move a customer to another group | 2.83 | 8.97 | 17.5 | 6.63 | +| M4 Allocate one more cost | 1.86 | 6.16 | 18.2 | 0.64 | | C1 to C3, the checks without a timer | ok | ok | ok | ok | -- RAMA 2.0 is fastest on every write. A one-cell write takes 0.006 to 2.0 s on RAMA 2.0, 0.78 to 4.5 s on ClickHouse and 1.1 to 7.0 s on DuckDB. The paste of 1,000 volumes (W2) takes 2.4 s on RAMA 2.0, 4.8 s on ClickHouse and 7.3 s on DuckDB. -- ClickHouse loads fastest. L1 takes 12.5 s on ClickHouse, 21 s on DuckDB, 34 s on RAMA 2.0 and 46 s on RAMA 1.9. RAMA 2.0 is fastest on the monthly close (L2). -- The SQL entries are faster on model changes that touch formulas. M1 and M4 take 1.9 to 3.1 s on RAMA 2.0 and 0.64 to 1.5 s on the SQL entries, which rebuild only the tables the change reaches. Member changes (M2, M3) rebuild every SQL table, because the dimension lookups change. There RAMA 2.0 is 2.3 to 5.3 times faster than the SQL entries. -- RAMA 2.0 is fastest on every read but R4, the ratios, where ClickHouse takes 0.046 s and RAMA 2.0 0.062 s. -- Opening the model (R8) takes 1.3 s on RAMA, 7.5 s on ClickHouse and 10 s on DuckDB. DuckDB and ClickHouse build their calculated tables in memory on every start. +- RAMA 2.0 is fastest on every write. A one-cell write takes 0.006 to 2.0 s on RAMA 2.0, 0.78 to 4.5 s on ClickHouse and 17.3 to 17.6 s on DuckDB, which calculates every table again after each write. The paste of 1,000 volumes (W2) takes 2.4 s on RAMA 2.0, 4.8 s on ClickHouse and 17.5 s on DuckDB. +- ClickHouse loads fastest. L1 takes 12.5 s on ClickHouse, 27.4 s on DuckDB, 34 s on RAMA 2.0 and 46 s on RAMA 1.9. RAMA 2.0 is fastest on the monthly close (L2). +- The SQL entries are faster on model changes that touch formulas. M1 and M4 take 1.9 to 3.1 s on RAMA 2.0 and 0.64 to 1.5 s on the SQL entries, which rebuild only the tables the change reaches. DuckDB takes 17.5 and 18.2 s because it builds every table again. Member changes (M2, M3) rebuild every SQL table, because the dimension lookups change. There RAMA 2.0 is 2.3 to 5.3 times faster than the SQL entries. +- RAMA 2.0 is fastest on every read but R4, the ratios, where DuckDB takes 0.045 s, ClickHouse 0.046 s and RAMA 2.0 0.062 s. +- Opening the model (R8) takes 1.3 s on RAMA, 7.5 s on ClickHouse and 0.08 s on DuckDB. ClickHouse builds its calculated tables in memory on every start. DuckDB keeps them in its file and builds nothing, and its marker says they are current. - RAMA 2.0 against RAMA 1.9: loads take 23 to 37% less time, writes up to 66% less, and model changes 55 to 70% less. Most reads are 2.6 to 27 times as fast, from `GROUPED_READ`. R8 is the same. ## 1b -On an `n2d-highmem-8` (AMD EPYC 7B13, 8 vCPU, 64 GB) with a 375 GB local NVMe SSD, one new VM per entry, deleted after its run. No predefined N2D has 4 vCPUs and 64 GB, so 1b has twice the cores of 10m and 100m. Manifest SHA-256 `bb28482e…`. RAMA 1.9 recorded the 1b answers, and the other entries ran against them. Run times: RAMA 2.0 88.0 min, RAMA 1.9 123.6 min, DuckDB 104.7 min, ClickHouse 58.5 min. Peak memory, for the system and the runner: RAMA 2.0 30.0 GB, RAMA 1.9 37.3 GB, DuckDB 35.9 GB, ClickHouse 17.6 GB. Every entry passed every test. The files are in [`n2d-highmem-8-local-nvme-ssd/1b/`](n2d-highmem-8-local-nvme-ssd/1b/), and the website shows them when that machine is ticked. +On an `n2d-highmem-8` (AMD EPYC 7B13, 8 vCPU, 64 GB) with a 375 GB local NVMe SSD, one new VM per entry, deleted after its run. No predefined N2D has 4 vCPUs and 64 GB, so 1b has twice the cores of 10m and 100m. Manifest SHA-256 `bb28482e…`. RAMA 1.9 recorded the 1b answers, and the other entries ran against them. Run times: RAMA 2.0 88.0 min, RAMA 1.9 123.6 min, DuckDB 104.7 min, ClickHouse 58.5 min. Peak memory, for the system and the runner: RAMA 2.0 30.0 GB, RAMA 1.9 37.3 GB, DuckDB 35.9 GB, ClickHouse 17.6 GB. Every entry passed every test. The DuckDB results at 1b are from the earlier setup, with calculated tables in memory and only the affected tables rebuilt. They are not full recalculation results, they carry no mark, and they are not comparable with DuckDB at 10m and 100m. The files are in [`n2d-highmem-8-local-nvme-ssd/1b/`](n2d-highmem-8-local-nvme-ssd/1b/), and the website shows them when that machine is ticked. | Test | RAMA 2.0 | RAMA 1.9 | DuckDB (tables) | ClickHouse (tables) | | --- | ---: | ---: | ---: | ---: | @@ -141,6 +141,10 @@ On an `n2d-highmem-8` (AMD EPYC 7B13, 8 vCPU, 64 GB) with a 375 GB local NVMe SS - Invariant I3 is not checked. - The test edits of M4 are the runner's own reading of `tests.json`. - RAMA cannot be installed outside Farseer yet. Its package is in Farseer's private registry. +- DuckDB, the full recalculation: + - Recalculating the derived tables inside one transaction costs far more than outside it. On the 4 vCPU run machine, one recalculation took about 271 s inside `BEGIN ... COMMIT` (463 s with `threads = 1`) against about 4 s with each statement committing by itself, on a copy of the 10m snapshot. On a 24-core machine it took 17 to 28 s inside a transaction. The time is CPU, not I/O wait. The cause is not established. + - DuckDB commits each statement by itself and has no materialized views or triggers. There is no way to refresh the derived tables atomically with the input write without paying that cost. The choice is atomic and slow, or fast and not atomic: a crash between the input commit and the end of the recalculation leaves stale derived tables. + - The entry therefore keeps a `calc_state` table with a calculated flag. A write commits its inputs together with `calculated = false`, recalculates, and commits `calculated = true`. An open that finds the flag false after a crash calculates every table again before the first read. See the entry's README. - One run of each entry. ClickBench-style repeats on fresh machines are still to do. Two runs of RAMA 2.0 at 100m on two new VMs differed by about 5%. - The RAMA 2.0 runs are ten days after the others, on new VMs of the same type. - Durable means a write survives a crash of the system or the operating system. The local SSD does not survive a host failure or a stop of the VM. See the method. diff --git a/results/n2d-standard-4-local-nvme-ssd/100m/duckdb-tables-1.5.6-r.1.json b/results/n2d-standard-4-local-nvme-ssd/100m/duckdb-tables-1.5.6-r.1.json index 82e8054..48adcc4 100644 --- a/results/n2d-standard-4-local-nvme-ssd/100m/duckdb-tables-1.5.6-r.1.json +++ b/results/n2d-standard-4-local-nvme-ssd/100m/duckdb-tables-1.5.6-r.1.json @@ -2,14 +2,15 @@ "entry": "duckdb-tables", "scale": "100m", "machine": "n2d-standard-4, local NVMe SSD", - "date": "2026-10-24", + "date": "2026-11-05", "system": { "name": "DuckDB", "version": "1.5.6-r.1", "settings": { - "approach": "one table per calculated variable, the tables a change reaches rebuilt after it", + "approach": "one table per calculated variable, every table calculated again after a change", "inputs": "duckdb.db, durable", - "calculated": "TEMP tables in memory, rebuilt on start", + "calculated": "tables in duckdb.db, durable, all calculated again after a change; a marker row says whether they are current, and a start that finds them stale calculates them again", + "durable": true, "keys": "integer member ids", "threads": "default" } @@ -35,11 +36,11 @@ "tests": { "L1": { "check": "ok", - "time": 21.01, + "time": 27.39, "runs": [ - 21.01, - 20.48, - 21.12 + 27.35, + 27.48, + 27.39 ], "notChecked": [ "I3: no reference for the source amounts before allocation" @@ -47,403 +48,418 @@ }, "L2": { "check": "ok", - "time": 12.13, + "time": 19.02, "runs": [ - 11.95, - 12.27, - 12.13 - ] + 19.24, + 18.61, + 19.02 + ], + "recalc": "full" }, "L3": { "check": "ok", - "time": 1.81, + "time": 17.3, "runs": [ - 1.81, - 1.805, - 1.813 - ] + 17.37, + 17.17, + 17.3 + ], + "recalc": "full" }, "W1": { "check": "ok", - "time": 7.025, - "p95": 8.995, + "time": 17.35, + "p95": 18.05, "warmup": [ - 7.206 + 17.56 ], "runs": [ - 9.027, - 8.995, - 7.182, - 6.83, - 6.956, - 6.924, - 7.071, - 7.038, - 6.994, - 7.05, - 6.877, - 6.975, - 6.895, - 7.003, - 7.015, - 7.166, - 7.056, - 7.022, - 7.079, - 7.028 - ] + 16.95, + 16.83, + 17.32, + 17.26, + 17.24, + 18.05, + 16.82, + 17.73, + 17.44, + 17.49, + 17.65, + 16.98, + 17.64, + 17.62, + 17.28, + 18.1, + 17.04, + 17.38, + 17.51, + 17.23 + ], + "recalc": "full" }, "W2": { "check": "ok", - "time": 7.269, + "time": 17.48, "runs": [ - 7.269, - 7.405, - 7.239 + 17.23, + 17.53, + 17.48 ], - "cells": 1000 + "cells": 1000, + "recalc": "full" }, "W3": { "check": "ok", - "time": 2.173, - "p95": 2.2, + "time": 17.5, + "p95": 17.9, "warmup": [ - 2.273 + 17.4 ], "runs": [ - 2.168, - 2.157, - 2.165, - 2.169, - 2.178, - 2.187, - 2.186, - 2.175, - 2.189, - 2.178, - 2.173, - 2.336, - 2.154, - 2.161, - 2.147, - 2.167, - 2.173, - 2.2, - 2.152, - 2.186 - ] + 17.41, + 17.53, + 17.56, + 17.46, + 16.9, + 17.79, + 17.07, + 17.78, + 17.46, + 17.44, + 17.64, + 17.19, + 17.9, + 17.65, + 16.86, + 17.97, + 16.66, + 17.58, + 17.57, + 17.4 + ], + "recalc": "full" }, "W4": { "check": "ok", - "time": 5.3, - "p95": 5.448, + "time": 17.28, + "p95": 17.87, "warmup": [ - 5.512 + 17.47 ], "runs": [ - 5.268, - 5.292, - 5.237, - 5.276, - 5.292, - 5.448, - 5.28, - 5.314, - 5.304, - 5.291, - 5.296, - 5.305, - 5.316, - 5.289, - 6.016, - 5.314, - 5.313, - 5.428, - 5.289, - 5.306 - ] + 17.35, + 17, + 17.45, + 17.87, + 17.07, + 17.59, + 17.21, + 17.56, + 17.21, + 17.13, + 18.03, + 17.12, + 17.84, + 17.42, + 17.05, + 17.35, + 17.02, + 17.7, + 17.14, + 16.95 + ], + "recalc": "full" }, "W5": { "check": "ok", - "time": 1.836, - "p95": 1.865, + "time": 17.51, + "p95": 17.85, "warmup": [ - 1.93 + 17.2 ], "runs": [ - 1.865, - 1.84, - 1.825, - 1.813, - 1.823, - 1.834, - 1.836, - 1.845, - 1.841, - 1.826, - 1.83, - 1.832, - 1.841, - 1.834, - 1.858, - 1.86, - 1.838 - ] + 17.53, + 17.2, + 17.47, + 17.77, + 16.82, + 17.82, + 17.21, + 17.55, + 17.51, + 17.25, + 17.85, + 17.02, + 17.51, + 17.69, + 17.22, + 17.54, + 17.19 + ], + "recalc": "full" }, "W6a": { "check": "ok", - "time": 1.136, - "p95": 1.159, + "time": 17.59, + "p95": 17.82, "warmup": [ - 1.176 + 17.29 ], "runs": [ - 1.136, - 1.147, - 1.154, - 1.131, - 1.129, - 1.118, - 1.133, - 1.122, - 1.132, - 1.128, - 1.16, - 1.135, - 1.159, - 1.125, - 1.132, - 1.147, - 1.139, - 1.145, - 1.139, - 1.148 - ] + 17.25, + 17.35, + 17.91, + 17.67, + 17.18, + 17.76, + 17.19, + 17.82, + 17.75, + 17.59, + 17.82, + 17.1, + 17.58, + 17.57, + 17.51, + 17.77, + 17.48, + 17.65, + 17.64, + 17.17 + ], + "recalc": "full" }, "W6b": { "check": "ok", - "time": 1.147, - "p95": 1.166, + "time": 17.49, + "p95": 17.86, "warmup": [ - 1.191 + 17.16 ], "runs": [ - 1.157, - 1.15, - 1.148, - 1.166, - 1.13, - 1.147, - 1.133, - 1.149, - 1.128, - 1.141, - 1.139, - 1.143, - 1.137, - 1.156, - 1.13, - 1.146, - 1.142, - 1.156, - 1.268, - 1.165 - ] + 17.17, + 17.14, + 17.64, + 17.43, + 16.9, + 17.7, + 17.09, + 17.69, + 17.57, + 17.21, + 17.78, + 17.12, + 17.54, + 17.37, + 17.2, + 17.86, + 16.91, + 17.8, + 18.09, + 17.59 + ], + "recalc": "full" }, "W7": { "check": "ok", - "time": 7.027, - "p95": 7.075, + "time": 17.45, + "p95": 17.88, "warmup": [ - 7.173 + 17.35 ], "runs": [ - 7.046, - 6.999, - 6.99, - 6.939, - 7.067, - 7.006, - 7.003, - 7.023, - 7.033, - 6.943, - 7.026, - 7.046, - 7.029, - 7.059, - 7.032, - 7.214, - 6.901, - 7.065, - 6.905, - 7.075 - ] + 17.13, + 17.22, + 17.45, + 17.76, + 17.33, + 17.74, + 17.24, + 17.76, + 17.43, + 17.45, + 17.82, + 17.19, + 17.73, + 17.8, + 17.11, + 17.88, + 17.13, + 17.48, + 17.97, + 17.15 + ], + "recalc": "full" }, "W8": { "check": "ok", - "time": 2.037, - "p95": 2.229, + "time": 17.43, + "p95": 17.73, "warmup": [ - 2.153 + 17.34 ], "runs": [ - 2.05, - 2.04, - 2.022, - 2.022, - 2.011, - 2.04, - 2.047, - 2.032, - 2.229, - 2.036, - 2.037 - ] + 17.31, + 17.17, + 17.5, + 17.59, + 17.25, + 17.61, + 16.92, + 17.73, + 17.43, + 17.25, + 17.71 + ], + "recalc": "full" }, "R1": { "check": "ok", - "time": 0.003244, + "time": 0.004814, "runs": [ - 0.004673, - 0.003241, - 0.003277, - 0.003244, - 0.002777 + 0.008615, + 0.004814, + 0.005042, + 0.004699, + 0.004474 ] }, "R2a": { "check": "ok", - "time": 0.003783, + "time": 0.005155, "runs": [ - 0.004852, - 0.003798, - 0.003783, - 0.003362, - 0.002995 + 0.009131, + 0.005176, + 0.004838, + 0.005155, + 0.004878 ] }, "R2b": { "check": "ok", - "time": 0.00311, + "time": 0.004528, "runs": [ - 0.004763, - 0.00311, - 0.003128, - 0.00289, - 0.002862 + 0.009681, + 0.004692, + 0.004451, + 0.004528, + 0.004393 ] }, "R2c": { "check": "ok", - "time": 0.003137, + "time": 0.004648, "runs": [ - 0.004537, - 0.003137, - 0.00359, - 0.003078, - 0.002669 + 0.008892, + 0.004723, + 0.004648, + 0.004549, + 0.004519 ] }, "R3": { "check": "ok", - "time": 0.007535, + "time": 0.01123, "runs": [ - 0.009888, - 0.008605, - 0.007535, - 0.006833, - 0.006358 + 0.01651, + 0.01123, + 0.01127, + 0.0108, + 0.01081 ] }, "R4": { "check": "ok", - "time": 0.05327, + "time": 0.04477, "runs": [ - 0.06129, - 0.05167, - 0.05302, - 0.05363, - 0.05327 + 0.05109, + 0.04545, + 0.04145, + 0.04477, + 0.04058 ] }, "R5": { "check": "ok", - "time": 0.04414, + "time": 0.05464, "runs": [ - 0.05136, - 0.04414, - 0.04514, - 0.04016, - 0.0423 + 0.1209, + 0.05464, + 0.05555, + 0.05459, + 0.05381 ] }, "R6": { "check": "ok", - "time": 0.01137, + "time": 0.0158, "runs": [ - 0.01265, - 0.01169, - 0.01137, - 0.00985, - 0.0101 + 0.02905, + 0.01594, + 0.01574, + 0.0158, + 0.01536 ] }, "R7": { "check": "ok", - "time": 0.005466, + "time": 0.008584, "runs": [ - 0.007474, - 0.005466, - 0.006319, - 0.00498, - 0.005027 + 0.01676, + 0.008584, + 0.008692, + 0.008329, + 0.008324 ] }, "R8": { "check": "ok", - "time": 10.09, + "time": 0.08053, "runs": [ - 10.09, - 10.05, - 10.14 + 0.07908, + 0.08053, + 0.08059 ] }, "M1": { "check": "ok", - "time": 1.461, + "time": 17.47, "runs": [ - 1.439, - 1.461, - 1.462 - ] + 17.04, + 17.47, + 17.65 + ], + "recalc": "full" }, "M2": { "check": "ok", - "time": 10.11, + "time": 17.54, "runs": [ - 10.16, - 10.05, - 10.11 - ] + 17.54, + 17.34, + 17.69 + ], + "recalc": "full" }, "M3": { "check": "ok", - "time": 10.26, + "time": 17.51, "runs": [ - 10.26, - 10.31, - 10.1 - ] + 17.51, + 17.66, + 17.39 + ], + "recalc": "full" }, "M4": { "check": "ok", - "time": 0.9161, + "time": 18.16, "runs": [ - 0.9076, - 0.9241, - 0.9161 - ] + 18.17, + 18.16, + 18.15 + ], + "recalc": "full" }, "C1": { "check": "ok", diff --git a/results/n2d-standard-4-local-nvme-ssd/10m/duckdb-tables-1.5.6-r.1.json b/results/n2d-standard-4-local-nvme-ssd/10m/duckdb-tables-1.5.6-r.1.json index 30b366d..6a7e3e1 100644 --- a/results/n2d-standard-4-local-nvme-ssd/10m/duckdb-tables-1.5.6-r.1.json +++ b/results/n2d-standard-4-local-nvme-ssd/10m/duckdb-tables-1.5.6-r.1.json @@ -2,14 +2,15 @@ "entry": "duckdb-tables", "scale": "10m", "machine": "n2d-standard-4, local NVMe SSD", - "date": "2026-10-24", + "date": "2026-11-05", "system": { "name": "DuckDB", "version": "1.5.6-r.1", "settings": { - "approach": "one table per calculated variable, the tables a change reaches rebuilt after it", + "approach": "one table per calculated variable, every table calculated again after a change", "inputs": "duckdb.db, durable", - "calculated": "TEMP tables in memory, rebuilt on start", + "calculated": "tables in duckdb.db, durable, all calculated again after a change; a marker row says whether they are current, and a start that finds them stale calculates them again", + "durable": true, "keys": "integer member ids", "threads": "default" } @@ -35,11 +36,11 @@ "tests": { "L1": { "check": "ok", - "time": 4.401, + "time": 5.72, "runs": [ - 4.401, - 4.319, - 4.426 + 5.577, + 5.72, + 5.738 ], "notChecked": [ "I3: no reference for the source amounts before allocation" @@ -47,398 +48,413 @@ }, "L2": { "check": "ok", - "time": 2.763, + "time": 4.045, "runs": [ - 2.763, - 2.802, - 2.669 - ] + 4.022, + 4.074, + 4.045 + ], + "recalc": "full" }, "L3": { "check": "ok", - "time": 0.3333, + "time": 3.66, "runs": [ - 0.3394, - 0.3166, - 0.3333 - ] + 3.66, + 3.658, + 3.678 + ], + "recalc": "full" }, "W1": { "check": "ok", - "time": 1.27, - "p95": 1.285, + "time": 3.655, + "p95": 3.786, "warmup": [ - 1.266 + 3.71 ], "runs": [ - 1.251, - 1.271, - 1.246, - 1.278, - 1.241, - 1.244, - 1.213, - 1.276, - 1.284, - 1.283, - 1.27, - 1.254, - 1.272, - 1.27, - 1.344, - 1.265, - 1.235, - 1.275, - 1.248, - 1.285 - ] + 3.663, + 3.581, + 3.577, + 3.625, + 3.615, + 3.605, + 3.794, + 3.691, + 3.657, + 3.639, + 3.638, + 3.693, + 3.667, + 3.786, + 3.621, + 3.701, + 3.676, + 3.661, + 3.645, + 3.652 + ], + "recalc": "full" }, "W2": { "check": "ok", - "time": 1.327, + "time": 3.691, "runs": [ - 1.313, - 1.347, - 1.327 + 3.691, + 3.613, + 3.717 ], - "cells": 1000 + "cells": 1000, + "recalc": "full" }, "W3": { "check": "ok", - "time": 0.409, - "p95": 0.4249, + "time": 3.669, + "p95": 3.754, "warmup": [ - 0.4322 + 3.626 ], "runs": [ - 0.4205, - 0.4154, - 0.3938, - 0.3986, - 0.3948, - 0.3971, - 0.4204, - 0.391, - 0.402, - 0.4153, - 0.4128, - 0.4051, - 0.4026, - 0.3996, - 0.4165, - 0.3999, - 0.4367, - 0.4249, - 0.4148, - 0.4178 - ] + 3.614, + 3.598, + 3.56, + 3.658, + 3.628, + 3.6, + 3.754, + 3.685, + 3.677, + 3.676, + 3.669, + 3.676, + 3.696, + 3.829, + 3.666, + 3.674, + 3.655, + 3.638, + 3.738, + 3.669 + ], + "recalc": "full" }, "W4": { "check": "ok", - "time": 1.009, - "p95": 1.041, + "time": 3.634, + "p95": 3.811, "warmup": [ - 1.087 + 3.673 ], "runs": [ - 1.041, - 1.007, - 1.021, - 1.019, - 1.02, - 1.002, - 0.9856, - 0.9939, - 1.008, - 0.999, - 0.9969, - 1.009, - 1.027, - 1.026, - 1.027, - 0.9956, - 1.008, - 1.02, - 1.023 - ] + 3.615, + 3.643, + 3.604, + 3.615, + 3.623, + 3.586, + 3.811, + 3.634, + 3.687, + 3.6, + 3.656, + 3.651, + 3.666, + 3.629, + 3.8, + 3.687, + 3.675, + 3.619, + 3.617 + ], + "recalc": "full" }, "W5": { "check": "ok", - "time": 0.3407, - "p95": 0.3531, + "time": 3.635, + "p95": 3.881, "warmup": [ - 0.3556 + 3.621 ], "runs": [ - 0.3493, - 0.3411, - 0.3329, - 0.3352, - 0.3407, - 0.349, - 0.3381, - 0.3372, - 0.3402, - 0.3367, - 0.3411, - 0.3374, - 0.3472, - 0.3427, - 0.3406, - 0.3419, - 0.3531 - ] + 3.598, + 3.611, + 3.646, + 3.635, + 3.603, + 3.68, + 3.881, + 3.587, + 3.542, + 3.682, + 3.623, + 3.613, + 3.65, + 3.704, + 3.836, + 3.565, + 3.691 + ], + "recalc": "full" }, "W6a": { "check": "ok", - "time": 0.2631, - "p95": 0.2794, + "time": 3.664, + "p95": 3.797, "warmup": [ - 0.3021 + 3.664 ], "runs": [ - 0.312, - 0.2794, - 0.2666, - 0.2616, - 0.2616, - 0.2752, - 0.2519, - 0.2742, - 0.2613, - 0.2634, - 0.2581, - 0.2559, - 0.2563, - 0.2717, - 0.2659, - 0.2614, - 0.2563, - 0.2628, - 0.266, - 0.2664 - ] + 3.612, + 3.613, + 3.556, + 3.658, + 3.686, + 3.679, + 3.797, + 3.636, + 3.698, + 3.645, + 3.577, + 3.585, + 3.618, + 3.66, + 3.873, + 3.723, + 3.779, + 3.708, + 3.72, + 3.668 + ], + "recalc": "full" }, "W6b": { "check": "ok", - "time": 0.2638, - "p95": 0.279, + "time": 3.657, + "p95": 3.816, "warmup": [ - 0.2925 + 3.602 ], "runs": [ - 0.2802, - 0.2771, - 0.279, - 0.2632, - 0.2591, - 0.262, - 0.2656, - 0.2622, - 0.2727, - 0.2633, - 0.2626, - 0.2617, - 0.2631, - 0.2586, - 0.2682, - 0.2667, - 0.2643, - 0.2583, - 0.2657, - 0.2659 - ] + 3.539, + 3.568, + 3.613, + 3.6, + 3.672, + 3.613, + 3.816, + 3.644, + 3.697, + 3.661, + 3.633, + 3.652, + 3.696, + 3.71, + 3.876, + 3.616, + 3.666, + 3.708, + 3.693, + 3.635 + ], + "recalc": "full" }, "W7": { "check": "ok", - "time": 1.389, - "p95": 1.48, + "time": 3.65, + "p95": 3.797, "warmup": [ - 1.339 + 3.626 ], "runs": [ - 1.696, - 1.48, - 1.471, - 1.48, - 1.473, - 1.477, - 1.455, - 1.455, - 1.453, - 1.474, - 1.273, - 1.303, - 1.27, - 1.301, - 1.263, - 1.304, - 1.265, - 1.306, - 1.274, - 1.324 - ] + 3.638, + 3.625, + 3.645, + 3.633, + 3.654, + 3.61, + 3.797, + 3.616, + 3.667, + 3.629, + 3.634, + 3.624, + 3.639, + 3.848, + 3.656, + 3.712, + 3.693, + 3.67, + 3.685, + 3.686 + ], + "recalc": "full" }, "W8": { "check": "ok", - "time": 0.3936, - "p95": 0.4205, + "time": 3.653, + "p95": 3.773, "warmup": [ - 0.4386 + 3.689 ], "runs": [ - 0.4205, - 0.4004, - 0.4023, - 0.3916, - 0.3933, - 0.3936, - 0.3892 - ] + 3.629, + 3.691, + 3.627, + 3.664, + 3.644, + 3.653, + 3.773 + ], + "recalc": "full" }, "R1": { "check": "ok", - "time": 0.002277, + "time": 0.002829, "runs": [ - 0.004214, - 0.002587, - 0.002277, - 0.002179, - 0.001922 + 0.006021, + 0.002829, + 0.00274, + 0.002561, + 0.002976 ] }, "R2a": { "check": "ok", - "time": 0.002591, + "time": 0.003087, "runs": [ - 0.003977, - 0.003486, - 0.002591, - 0.002289, - 0.002206 + 0.005971, + 0.003386, + 0.002646, + 0.003087, + 0.002479 ] }, "R2b": { "check": "ok", - "time": 0.002443, + "time": 0.002523, "runs": [ - 0.003883, - 0.002443, - 0.002193, - 0.00253, - 0.001935 + 0.006167, + 0.002785, + 0.002523, + 0.00243, + 0.002233 ] }, "R2c": { "check": "ok", - "time": 0.002298, + "time": 0.003107, "runs": [ - 0.003253, - 0.002389, - 0.002298, - 0.002142, - 0.001872 + 0.005377, + 0.002758, + 0.00318, + 0.003107, + 0.002738 ] }, "R3": { "check": "ok", - "time": 0.004965, + "time": 0.007618, "runs": [ - 0.007619, - 0.005339, - 0.004965, - 0.004945, - 0.004907 + 0.01126, + 0.008159, + 0.006598, + 0.006586, + 0.007618 ] }, "R4": { "check": "ok", - "time": 0.0357, + "time": 0.03341, "runs": [ - 0.03983, - 0.03519, - 0.0357, - 0.03578, - 0.03525 + 0.03593, + 0.03284, + 0.03341, + 0.0328, + 0.03373 ] }, "R5": { "check": "ok", - "time": 0.02719, + "time": 0.03003, "runs": [ - 0.03316, - 0.02719, - 0.02718, - 0.02754, - 0.02425 + 0.04693, + 0.03249, + 0.03003, + 0.02941, + 0.02841 ] }, "R6": { "check": "ok", - "time": 0.003612, + "time": 0.005102, "runs": [ - 0.004929, - 0.004106, - 0.003612, - 0.003339, - 0.003111 + 0.008161, + 0.005411, + 0.005102, + 0.005044, + 0.004586 ] }, "R7": { "check": "ok", - "time": 0.002219, + "time": 0.002607, "runs": [ - 0.004, - 0.002921, - 0.002213, - 0.002219, - 0.00182 + 0.004778, + 0.002737, + 0.002607, + 0.002497, + 0.002108 ] }, "R8": { "check": "ok", - "time": 2.319, + "time": 0.07058, "runs": [ - 2.319, - 2.277, - 2.33 + 0.07058, + 0.07401, + 0.06838 ] }, "M1": { "check": "ok", - "time": 0.2719, + "time": 3.588, "runs": [ - 0.2719, - 0.2839, - 0.2625 - ] + 3.646, + 3.588, + 3.571 + ], + "recalc": "full" }, "M2": { "check": "ok", - "time": 2.268, + "time": 3.621, "runs": [ - 2.24, - 2.269, - 2.268 - ] + 3.621, + 3.608, + 3.696 + ], + "recalc": "full" }, "M3": { "check": "ok", - "time": 2.32, + "time": 3.622, "runs": [ - 2.287, - 2.32, - 2.334 - ] + 3.622, + 3.569, + 3.668 + ], + "recalc": "full" }, "M4": { "check": "ok", - "time": 0.2244, + "time": 3.755, "runs": [ - 0.2242, - 0.2244, - 0.2305 - ] + 3.755, + 3.828, + 3.743 + ], + "recalc": "full" }, "C1": { "check": "ok", diff --git a/runner/README.md b/runner/README.md index ad28ca4..fca5193 100644 --- a/runner/README.md +++ b/runner/README.md @@ -44,6 +44,7 @@ Each test is one file per system, `systems//tests/.mjs`, written in t | `open(context)` | Optional, R8 only. Starts the system, inside the timer. | | `run(context)` | One timed run, from the first call to the end of the proving read. Returns the rows it read, `{ key, value }`. | | `check(context)` | Optional. Untimed checks after a run. Returns `{ name: rows }`. | +| `recalc` | Optional. `'full'` for a test where the system recalculates everything because it has no incremental calculation. The runner copies it into the test's result as `"recalc": "full"`, and the website shows that test as "not supported - full recalc results". See [`tests/method.md`](../tests/method.md#systems-without-incremental-calculation). | | `teardown(context)` | Untimed. Stops the system. It runs even when setup or a run throws, with `context.failed` set. L1's teardown keeps the snapshot, unless the load failed. | `context` holds the work folder, the input cells, the test's picks, the pick of the run, and whatever `setup` puts in it. Each system's `db.mjs` also exports `system`: its name, version and settings, as they go in the results. diff --git a/runner/run.mjs b/runner/run.mjs index eb7104f..39ee5a0 100644 --- a/runner/run.mjs +++ b/runner/run.mjs @@ -416,6 +416,7 @@ for (const test of tests) { const extra = { ...(p.cells ? { cells: p.cells.length } : {}), ...(p.notChecked ? { notChecked: p.notChecked } : {}), + ...(test.recalc ? { recalc: test.recalc } : {}), }; let summary; if (test.timed === false) summary = { check: problems.length ? 'wrong' : 'ok', timed: false, ...(problems.length ? { problems } : {}) }; diff --git a/systems/duckdb-tables/README.md b/systems/duckdb-tables/README.md index b4bf49e..8651567 100644 --- a/systems/duckdb-tables/README.md +++ b/systems/duckdb-tables/README.md @@ -1,6 +1,6 @@ -# DuckDB, refreshed tables +# DuckDB, tables -DuckDB 1.5.6, in process, through [`@duckdb/node-api`](https://www.npmjs.com/package/@duckdb/node-api) 1.5.6-r.1. Every calculated variable is a table. A write changes an input table, then every calculated table that reads it, directly or through other tables, is built again. The input tables are in a database file. The calculated tables are `TEMP` tables in memory, built again from the inputs whenever DuckDB starts. +DuckDB 1.5.6, in process, through [`@duckdb/node-api`](https://www.npmjs.com/package/@duckdb/node-api) 1.5.6-r.1. Every calculated variable is a table. DuckDB has no incremental calculation, so a write changes an input table and then every calculated table is calculated again from the inputs. The input tables and the calculated tables are ordinary tables in one database file, and every commit is forced to disk. The results of every test that does this are marked `recalc: 'full'`, and the website shows them as "not supported - full recalc results". ## Install @@ -10,14 +10,15 @@ DuckDB 1.5.6, in process, through [`@duckdb/node-api`](https://www.npmjs.com/pac ## How it runs -The SQL is in [`sql/`](sql/), generated from the model by [`model/lib/sql/generate.mjs`](../../model/lib/sql/generate.mjs) with the translator [`model/lib/sql/translate.mjs`](../../model/lib/sql/translate.mjs), which both SQL entries share. [`sql/schema.sql`](sql/schema.sql) creates the tables and [`sql/calculate.sql`](sql/calculate.sql) builds every calculated table. [`sql/m1.sql`](sql/m1.sql) and [`sql/m4.sql`](sql/m4.sql) are the migrations of tests M1 and M4: only the statements that take the base model to the changed one. Run `node model/lib/sql/generate.mjs` after changing the model or the translator. `--check` fails when the files are out of date. Nothing in it is written by hand for one model. Each input variable is a table. Each calculated variable is a `CREATE OR REPLACE TEMP TABLE ... AS SELECT`, in dependency order. +The SQL is in [`sql/`](sql/), generated from the model by [`model/lib/sql/generate.mjs`](../../model/lib/sql/generate.mjs) with the translator [`model/lib/sql/translate.mjs`](../../model/lib/sql/translate.mjs), which both SQL entries share. [`sql/schema.sql`](sql/schema.sql) creates the tables and [`sql/calculate.sql`](sql/calculate.sql) builds every calculated table. [`sql/m1.sql`](sql/m1.sql) and [`sql/m4.sql`](sql/m4.sql) are the migrations of tests M1 and M4: only the statements that take the base model to the changed one. Run `node model/lib/sql/generate.mjs` after changing the model or the translator. `--check` fails when the files are out of date. Nothing in it is written by hand for one model. Each input variable is a table. Each calculated variable is a `CREATE OR REPLACE TABLE ... AS SELECT`, in dependency order. | Step | What happens | | --- | --- | | Load | Create the tables, add the model's members and the data's own, read each input variable's file `cells/.csv` with `read_csv`, then build every calculated table | -| Write | `INSERT OR REPLACE` or `DELETE` on the input tables in one transaction, then build again the calculated tables the write reaches, in dependency order | +| Write | One small transaction: `INSERT OR REPLACE` or `DELETE` on the input tables and `calculated = false` in the one-row table `calc_state`, committed together. Then `sql/calculate.sql` builds every calculated table again, outside any transaction, one commit per table. Then `calculated = true`, a second tiny commit. | | Read | One `GROUP BY` query. A measure is one query over the sums it needs. | -| Model change | Translate the changed model, then build again the changed tables and every table that reads them. New or moved members change the dimension lookups, so then every table is built again. | +| Model change | The same three steps. The first commit holds the new input tables, if any, and `calculated = false`, with the name of the migration. Then every calculated table is built again, for the changed model. A member change updates the dimension tables in the first commit and runs `sql/calculate.sql`. | +| Open (R8) | Open the database file and read `calc_state`. When `calculated` is true, nothing is built. When it is false, a recalculation was cut short, and the open runs the pending recalculation before the first read. | The SQL follows RAMA's rules for missing values. A missing cell is a missing row. `+` and `-` count a missing operand as 0, and the result is missing only when every operand is. `*` is missing when any operand is. `a / b` is missing when `b` is missing or 0, and a missing `a` counts as 0 in a stored variable. In a measure a missing `a` gives a missing result, as RAMA does. @@ -29,15 +30,26 @@ DuckDB has no materialized views and no triggers, so nothing inside DuckDB keeps | Setting | Value | | --- | --- | -| Database | A file, `duckdb.db`, for the dimension and input tables. Each commit is forced to disk, so writes are durable. The calculated tables are `TEMP` tables, because they can always be built again from the inputs. Writing them to the file doubled the rebuild time. | +| Database | A file, `duckdb.db`, for the dimension, input and calculated tables. Each commit is forced to disk, so what a write or a recalculation commits is durable. | | Threads, memory | DuckDB's defaults | -| Rebuild | Outside the write's transaction. Inside one transaction DuckDB keeps every replaced table until the commit. At 10m on a laptop one write then took 14.6 s and 19 GB instead of 5.9 s and 1 GB. | +| Recalculation | After the input change, outside any transaction, one commit per calculated table. A one-row table, `calc_state` (`calculated`, `script`), says whether the calculated tables are current. A write, an increment load (L2), a master data change (L3) and a model change (M1 to M4) commit their input change together with `calculated = false`, and commit `calculated = true` after the last table. | -A write is visible when the last table is built. After a restart DuckDB builds every calculated table before the first read, so R8, which starts DuckDB, includes one full rebuild. +The inputs are durable as soon as the first commit returns. A crash or a kill in the recalculation leaves `calculated = false`, and the next open calculates every table again before the first read, so after a crash the first open pays one full recalculation (about the cost of one write). A reader never sees a half-built state as valid: a read happens after the write has returned, which is when `calculated` is true, and a start that finds it false repairs the tables first. The load (L1) ends with `calculated = true`, and R8 opens the snapshot, which has it true, so R8 normally builds nothing. + +A single transaction around the input change and the whole recalculation was tried, and it was too slow to use. On an n2d-standard-4 (4 vCPU) one recalculation took about 271 s inside `BEGIN ... COMMIT` (463 s with `threads = 1`), against 3.7 to 4.0 s outside a transaction, on a copy of the L1 snapshot at 10m. On a 24-core machine the transaction cost 17 to 28 s. That is the measurement. The cause is not claimed beyond it: the time is in the statements of the recalculation, and it grows as cores get fewer. A 10m run would have taken about 20 hours, so the entry uses the marker. + +## Caveats + +Two minus points of DuckDB, and the workaround they made necessary: + +- Recalculating the derived tables inside one transaction costs far more than outside it. Measured on an n2d-standard-4 (4 vCPU), on a copy of the 10m snapshot: about 271 s per recalculation inside `BEGIN ... COMMIT`, 463 s with `threads = 1`, and about 4 s with each statement committing by itself. On a 24-core machine it took 17 to 28 s inside a transaction. The time is CPU, there is no I/O wait. The cause is not established. +- DuckDB commits each statement by itself and has no materialized views or triggers, so there is no way to refresh derived tables atomically with the input write without paying the cost above. The choice is atomic and slow, or fast and not atomic: a crash between the input commit and the end of the recalculation leaves stale derived tables. +- So the entry carries the `calc_state` table and recalculates on open after a crash, as described under Settings. ## Notes - Every key column holds an integer member id instead of the member's name. The ids are in the dimension tables (`dim `: id, name, parent ids), are given once and never change, so a new member gets the next free id. Names turn into ids when cells are loaded or written, and back into names when they are read. Loading a cell that names an unknown member fails. On a laptop, integer keys made a rebate rate write 0.43 → 0.11 s and the 10m load 3.7 → 2.4 s. -- The translator reads a table straight from its operand when one operand gives every cell, and builds the dimension lookups once per rebuild. Before these two changes and the `TEMP` tables, one rebuild took 5.2 s on a laptop. After, 2.1 s. -- The generator knows which tables read which variables, from the formulas. `sql/rebuild/.sql` rebuilds only the tables a write to that variable reaches. A typed volume reaches 88 of 167 tables, an office's cost 25. It still rebuilds whole tables, not cells. On a laptop this cut a rebate rate write from 2.2 s to 0.4 s. The method may count this dependency logic as tuning. If so, this entry becomes `duckdb-tables-tuned` and a plain full-rebuild entry is added. +- The translator reads a table straight from its operand when one operand gives every cell, and builds the dimension lookups once per calculation. +- DuckDB has no incremental calculation, so this entry does not pretend to have one. It does not keep the calculated tables in memory, and it does not calculate only the tables a write reaches. That would stand in for a missing feature, and [the method](../../tests/method.md#systems-without-incremental-calculation) does not allow it. Every write, load of new data and model change runs all of `sql/calculate.sql`, and its tests are marked `recalc: 'full'`. The numbers stay in the scores as measured. The generator still writes the dependency lists in `sql/base.json`, but nothing in this entry uses them. +- The marker is not a transaction around the recalculation. Between the first commit and the last, a concurrent reader would see old calculated tables next to new inputs. The benchmark has no concurrent reader, and a process that died there is repaired on the next open. - At 10m every calculated cell of all 167 calculated variables matched RAMA after the load. diff --git a/systems/duckdb-tables/db.mjs b/systems/duckdb-tables/db.mjs index d2e0c72..2324136 100644 --- a/systems/duckdb-tables/db.mjs +++ b/systems/duckdb-tables/db.mjs @@ -1,8 +1,14 @@ // What the DuckDB tests share, in plain DuckDB: the database file, opening it, putting it back to the // snapshot, and member ids. The SQL comes from the files in sql/. // -// The input tables live in duckdb.db. The calculated tables are TEMP tables in memory, so opening the file -// builds them again from the inputs. +// The input tables and the calculated tables are all ordinary tables in duckdb.db. DuckDB has no incremental +// calculation: a write or a model change that touches calculated data builds every calculated table again. +// One recalculation is about 167 statements, and inside one transaction together with the write it is very +// slow, so it runs outside any transaction, one commit per table. A one-row table, calc_state, says whether the +// calculated tables are current. A write commits its input change and calculated = false together, builds the +// tables, then commits calculated = true. A reader opens the file only after the write has returned, so it +// never reads a half-built state as valid. A start that finds calculated = false, because the process died in +// a recalculation, builds the calculated tables again before the first read. import fs from 'node:fs'; import path from 'node:path'; @@ -15,9 +21,10 @@ export const system = { name: 'DuckDB', version: JSON.parse(fs.readFileSync(path.join(path.dirname(createRequire(import.meta.url).resolve('@duckdb/node-api')), '..', 'package.json'), 'utf8')).version, settings: { - approach: 'one table per calculated variable, the tables a change reaches rebuilt after it', + approach: 'one table per calculated variable, every table calculated again after a change', inputs: 'duckdb.db, durable', - calculated: 'TEMP tables in memory, rebuilt on start', + calculated: 'tables in duckdb.db, durable, all calculated again after a change; a marker row says whether they are current, and a start that finds them stale calculates them again', + durable: true, keys: 'integer member ids', threads: 'default', }, @@ -29,41 +36,88 @@ export const sqlFile = (name) => fs.readFileSync(path.join(path.dirname(fileURLT /** Every SQL file of a folder in sql/, by its name without .sql, such as the import files by input variable. */ export const sqlFolder = (folder) => new Map(fs.readdirSync(path.join(path.dirname(fileURLToPath(import.meta.url)), 'sql', folder)).map((f) => [f.slice(0, -'.sql'.length), sqlFile(`${folder}/${f}`)])); -// Every calculated table, built on each start. Read once when the file loads, so no file read is timed. -const CALCULATE = sqlFile('calculate.sql'); +/** + * The statements that build every calculated table, by name: calculate.sql, and what a migration runs after its + * new input tables. Read once when the file loads, so no file read is timed. + */ +const RECALCULATE_FROM = '-- @recalculate'; +const afterSchema = (text) => text.slice(text.indexOf(RECALCULATE_FROM)); +const beforeSchema = (text) => text.slice(0, text.indexOf(RECALCULATE_FROM)); +const MIGRATIONS = { m1: sqlFile('m1.sql'), m4: sqlFile('m4.sql') }; +const RECALCULATE = { calculate: sqlFile('calculate.sql'), m1: afterSchema(MIGRATIONS.m1), m4: afterSchema(MIGRATIONS.m4) }; /** The database file of a work folder, and the snapshot L1 leaves next to it. */ export const fileOf = (work) => path.join(work, 'duckdb.db'); export const snapshotOf = (work) => path.join(work, 'duckdb.snapshot.db'); -/** Opens the database file as it is. Returns { run, rows, close }. A run may hold several statements. */ +/** + * Opens the database file as it is. Returns { run, rows, write, migrate, close }. A run may hold several statements. + * The state table is not read here: start does that. + */ export async function connect(work) { const instance = await DuckDBInstance.create(fileOf(work)); const conn = await instance.connect(); - return { + const db = { run: (s) => conn.run(s), rows: async (s) => (await conn.runAndReadAll(s)).getRowObjectsJS(), + /** + * A change of inputs and the recalculation it needs. The input change commits together with calculated = false. + * The calculated tables are then built outside any transaction, and calculated = true is committed after them. + */ + async write(inputs, script = 'calculate') { + await conn.run('BEGIN'); + try { + await inputs(); + await conn.run(`UPDATE calc_state SET calculated = false, script = '${script}'`); + } catch (error) { + await conn.run('ROLLBACK'); + throw error; + } + await conn.run('COMMIT'); + await recalculate(db); + }, + /** A model change: its new input tables are the input change, and its recalculation builds the calculated tables for the changed model. */ + migrate(name) { + return db.write(() => conn.run(beforeSchema(MIGRATIONS[name])), name); + }, close() { conn.closeSync(); instance.closeSync?.(); }, }; + return db; } +/** Builds the calculated tables the marker names, then commits calculated = true. */ +async function recalculate(db) { + const [state] = await db.rows('SELECT script FROM calc_state'); + await db.run(RECALCULATE[state.script]); + await db.run('UPDATE calc_state SET calculated = true'); +} + +/** Creates the marker. A load leaves it false until the calculated tables are built. */ +export const createState = (db) => db.run(`CREATE TABLE calc_state (calculated BOOLEAN NOT NULL, script VARCHAR NOT NULL); INSERT INTO calc_state VALUES (false, 'calculate')`); + +/** Builds every calculated table of a load and commits calculated = true after them. */ +export const calculate = (db) => recalculate(db); + /** Puts the database file back to the snapshot, without opening it. */ export function reset(work) { fs.rmSync(`${fileOf(work)}.wal`, { force: true }); fs.copyFileSync(snapshotOf(work), fileOf(work)); } -/** Starts DuckDB on the database file and builds every calculated table. */ +/** + * Starts DuckDB on the database file. The calculated tables are in it already, unless the process died in a + * recalculation: then calculated is false, and they are built again before the first read. After a crash the + * first start pays one full recalculation. + */ export async function start(work) { const db = await connect(work); - try { - await db.run(CALCULATE); - } catch (e) { - db.close(); - throw e; + const [state] = await db.rows('SELECT calculated FROM calc_state'); + if (!state.calculated) { + console.error('duckdb-tables: the last recalculation did not finish, calculating every table again'); + await recalculate(db); } return db; } @@ -93,6 +147,3 @@ export async function members(db) { name: (d, id) => toName.get(d)?.get(id) ?? null, }; } - -/** The SQL a write to an input variable must run: every calculated table that reads it, directly or through other tables, in dependency order. */ -export const rebuild = (variable) => sqlFile(`rebuild/${variable}.sql`); diff --git a/systems/duckdb-tables/sql/calculate.sql b/systems/duckdb-tables/sql/calculate.sql index 3ad5dc8..78ec4aa 100644 --- a/systems/duckdb-tables/sql/calculate.sql +++ b/systems/duckdb-tables/sql/calculate.sql @@ -1,37 +1,37 @@ -- Generated by model/lib/sql/generate.mjs, duckdb dialect. Builds every calculated table from the input tables. -- The dimension lookups: one flattened table per dimension. -CREATE OR REPLACE TEMP TABLE "flat Account" AS SELECT t0."Account" AS "Account", coalesce(t1."Account Group", 3) AS "Account Group" FROM "dim Account" t0 LEFT JOIN "dim Account Group" t1 ON t1."Account Group" = t0."Account Group"; -CREATE OR REPLACE TEMP TABLE "flat Account Group" AS SELECT t0."Account Group" AS "Account Group" FROM "dim Account Group" t0; -CREATE OR REPLACE TEMP TABLE "flat Brand" AS SELECT t0."Brand" AS "Brand", coalesce(t1."Brand Group", 1) AS "Brand Group", coalesce(t2."Brand Type", 2) AS "Brand Type" FROM "dim Brand" t0 LEFT JOIN "dim Brand Group" t1 ON t1."Brand Group" = t0."Brand Group" LEFT JOIN "dim Brand Type" t2 ON t2."Brand Type" = t0."Brand Type"; -CREATE OR REPLACE TEMP TABLE "flat Brand Group" AS SELECT t0."Brand Group" AS "Brand Group" FROM "dim Brand Group" t0; -CREATE OR REPLACE TEMP TABLE "flat Brand Type" AS SELECT t0."Brand Type" AS "Brand Type" FROM "dim Brand Type" t0; -CREATE OR REPLACE TEMP TABLE "flat Category" AS SELECT t0."Category" AS "Category", coalesce(t1."Division", 4) AS "Division" FROM "dim Category" t0 LEFT JOIN "dim Division" t1 ON t1."Division" = t0."Division"; -CREATE OR REPLACE TEMP TABLE "flat Channel" AS SELECT t0."Channel" AS "Channel" FROM "dim Channel" t0; -CREATE OR REPLACE TEMP TABLE "flat Cost Center" AS SELECT t0."Cost Center" AS "Cost Center", coalesce(t1."Function", 4) AS "Function", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Currency", 4) AS "Currency" FROM "dim Cost Center" t0 LEFT JOIN "dim Function" t1 ON t1."Function" = t0."Function" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t0."Channel" LEFT JOIN "dim Currency" t4 ON t4."Currency" = t2."Currency"; -CREATE OR REPLACE TEMP TABLE "flat Country" AS SELECT t0."Country" AS "Country", coalesce(t1."Currency", 4) AS "Currency" FROM "dim Country" t0 LEFT JOIN "dim Currency" t1 ON t1."Currency" = t0."Currency"; -CREATE OR REPLACE TEMP TABLE "flat Currency" AS SELECT t0."Currency" AS "Currency" FROM "dim Currency" t0; -CREATE OR REPLACE TEMP TABLE "flat Customer" AS SELECT t0."Customer" AS "Customer", coalesce(t1."Customer Group", 1) AS "Customer Group", coalesce(t2."Region", 1) AS "Region", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Country", 1) AS "Country", coalesce(t5."Currency", 4) AS "Currency" FROM "dim Customer" t0 LEFT JOIN "dim Customer Group" t1 ON t1."Customer Group" = t0."Customer Group" LEFT JOIN "dim Region" t2 ON t2."Region" = t0."Region" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t1."Channel" LEFT JOIN "dim Country" t4 ON t4."Country" = t1."Country" LEFT JOIN "dim Currency" t5 ON t5."Currency" = t4."Currency"; -CREATE OR REPLACE TEMP TABLE "flat Customer Group" AS SELECT t0."Customer Group" AS "Customer Group", coalesce(t1."Channel", 4) AS "Channel", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Currency", 4) AS "Currency" FROM "dim Customer Group" t0 LEFT JOIN "dim Channel" t1 ON t1."Channel" = t0."Channel" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Currency" t3 ON t3."Currency" = t2."Currency"; -CREATE OR REPLACE TEMP TABLE "flat Division" AS SELECT t0."Division" AS "Division" FROM "dim Division" t0; -CREATE OR REPLACE TEMP TABLE "flat Function" AS SELECT t0."Function" AS "Function" FROM "dim Function" t0; -CREATE OR REPLACE TEMP TABLE "flat Lifecycle Status" AS SELECT t0."Lifecycle Status" AS "Lifecycle Status" FROM "dim Lifecycle Status" t0; -CREATE OR REPLACE TEMP TABLE "flat Material" AS SELECT t0."Material" AS "Material", coalesce(t1."SKU", 1) AS "SKU", coalesce(t2."Product Line", 1) AS "Product Line", coalesce(t3."Pack Format", 5) AS "Pack Format", coalesce(t4."Size Band", 4) AS "Size Band", coalesce(t5."Price Tier", 2) AS "Price Tier", coalesce(t6."Temperature Zone", 4) AS "Temperature Zone", coalesce(t7."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t8."Plant", 1) AS "Plant", coalesce(t9."Subcategory", 1) AS "Subcategory", coalesce(t10."Brand", 1) AS "Brand", coalesce(t11."Supply Type", 2) AS "Supply Type", coalesce(t12."Category", 1) AS "Category", coalesce(t13."Brand Group", 1) AS "Brand Group", coalesce(t14."Brand Type", 2) AS "Brand Type", coalesce(t15."Division", 4) AS "Division" FROM "dim Material" t0 LEFT JOIN "dim SKU" t1 ON t1."SKU" = t0."SKU" LEFT JOIN "dim Product Line" t2 ON t2."Product Line" = t1."Product Line" LEFT JOIN "dim Pack Format" t3 ON t3."Pack Format" = t1."Pack Format" LEFT JOIN "dim Size Band" t4 ON t4."Size Band" = t1."Size Band" LEFT JOIN "dim Price Tier" t5 ON t5."Price Tier" = t1."Price Tier" LEFT JOIN "dim Temperature Zone" t6 ON t6."Temperature Zone" = t1."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t7 ON t7."Lifecycle Status" = t1."Lifecycle Status" LEFT JOIN "dim Plant" t8 ON t8."Plant" = t1."Plant" LEFT JOIN "dim Subcategory" t9 ON t9."Subcategory" = t2."Subcategory" LEFT JOIN "dim Brand" t10 ON t10."Brand" = t2."Brand" LEFT JOIN "dim Supply Type" t11 ON t11."Supply Type" = t8."Supply Type" LEFT JOIN "dim Category" t12 ON t12."Category" = t9."Category" LEFT JOIN "dim Brand Group" t13 ON t13."Brand Group" = t10."Brand Group" LEFT JOIN "dim Brand Type" t14 ON t14."Brand Type" = t10."Brand Type" LEFT JOIN "dim Division" t15 ON t15."Division" = t12."Division"; -CREATE OR REPLACE TEMP TABLE "flat PL Line" AS SELECT t0."PL Line" AS "PL Line" FROM "dim PL Line" t0; -CREATE OR REPLACE TEMP TABLE "flat Pack Format" AS SELECT t0."Pack Format" AS "Pack Format" FROM "dim Pack Format" t0; -CREATE OR REPLACE TEMP TABLE "flat Plant" AS SELECT t0."Plant" AS "Plant", coalesce(t1."Supply Type", 2) AS "Supply Type" FROM "dim Plant" t0 LEFT JOIN "dim Supply Type" t1 ON t1."Supply Type" = t0."Supply Type"; -CREATE OR REPLACE TEMP TABLE "flat Price Tier" AS SELECT t0."Price Tier" AS "Price Tier" FROM "dim Price Tier" t0; -CREATE OR REPLACE TEMP TABLE "flat Product Line" AS SELECT t0."Product Line" AS "Product Line", coalesce(t1."Subcategory", 1) AS "Subcategory", coalesce(t2."Brand", 1) AS "Brand", coalesce(t3."Category", 1) AS "Category", coalesce(t4."Brand Group", 1) AS "Brand Group", coalesce(t5."Brand Type", 2) AS "Brand Type", coalesce(t6."Division", 4) AS "Division" FROM "dim Product Line" t0 LEFT JOIN "dim Subcategory" t1 ON t1."Subcategory" = t0."Subcategory" LEFT JOIN "dim Brand" t2 ON t2."Brand" = t0."Brand" LEFT JOIN "dim Category" t3 ON t3."Category" = t1."Category" LEFT JOIN "dim Brand Group" t4 ON t4."Brand Group" = t2."Brand Group" LEFT JOIN "dim Brand Type" t5 ON t5."Brand Type" = t2."Brand Type" LEFT JOIN "dim Division" t6 ON t6."Division" = t3."Division"; -CREATE OR REPLACE TEMP TABLE "flat Region" AS SELECT t0."Region" AS "Region" FROM "dim Region" t0; -CREATE OR REPLACE TEMP TABLE "flat SKU" AS SELECT t0."SKU" AS "SKU", coalesce(t1."Product Line", 1) AS "Product Line", coalesce(t2."Pack Format", 5) AS "Pack Format", coalesce(t3."Size Band", 4) AS "Size Band", coalesce(t4."Price Tier", 2) AS "Price Tier", coalesce(t5."Temperature Zone", 4) AS "Temperature Zone", coalesce(t6."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t7."Plant", 1) AS "Plant", coalesce(t8."Subcategory", 1) AS "Subcategory", coalesce(t9."Brand", 1) AS "Brand", coalesce(t10."Supply Type", 2) AS "Supply Type", coalesce(t11."Category", 1) AS "Category", coalesce(t12."Brand Group", 1) AS "Brand Group", coalesce(t13."Brand Type", 2) AS "Brand Type", coalesce(t14."Division", 4) AS "Division" FROM "dim SKU" t0 LEFT JOIN "dim Product Line" t1 ON t1."Product Line" = t0."Product Line" LEFT JOIN "dim Pack Format" t2 ON t2."Pack Format" = t0."Pack Format" LEFT JOIN "dim Size Band" t3 ON t3."Size Band" = t0."Size Band" LEFT JOIN "dim Price Tier" t4 ON t4."Price Tier" = t0."Price Tier" LEFT JOIN "dim Temperature Zone" t5 ON t5."Temperature Zone" = t0."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t6 ON t6."Lifecycle Status" = t0."Lifecycle Status" LEFT JOIN "dim Plant" t7 ON t7."Plant" = t0."Plant" LEFT JOIN "dim Subcategory" t8 ON t8."Subcategory" = t1."Subcategory" LEFT JOIN "dim Brand" t9 ON t9."Brand" = t1."Brand" LEFT JOIN "dim Supply Type" t10 ON t10."Supply Type" = t7."Supply Type" LEFT JOIN "dim Category" t11 ON t11."Category" = t8."Category" LEFT JOIN "dim Brand Group" t12 ON t12."Brand Group" = t9."Brand Group" LEFT JOIN "dim Brand Type" t13 ON t13."Brand Type" = t9."Brand Type" LEFT JOIN "dim Division" t14 ON t14."Division" = t11."Division"; -CREATE OR REPLACE TEMP TABLE "flat Size Band" AS SELECT t0."Size Band" AS "Size Band" FROM "dim Size Band" t0; -CREATE OR REPLACE TEMP TABLE "flat Subcategory" AS SELECT t0."Subcategory" AS "Subcategory", coalesce(t1."Category", 1) AS "Category", coalesce(t2."Division", 4) AS "Division" FROM "dim Subcategory" t0 LEFT JOIN "dim Category" t1 ON t1."Category" = t0."Category" LEFT JOIN "dim Division" t2 ON t2."Division" = t1."Division"; -CREATE OR REPLACE TEMP TABLE "flat Supply Type" AS SELECT t0."Supply Type" AS "Supply Type" FROM "dim Supply Type" t0; -CREATE OR REPLACE TEMP TABLE "flat Temperature Zone" AS SELECT t0."Temperature Zone" AS "Temperature Zone" FROM "dim Temperature Zone" t0; +CREATE OR REPLACE TABLE "flat Account" AS SELECT t0."Account" AS "Account", coalesce(t1."Account Group", 3) AS "Account Group" FROM "dim Account" t0 LEFT JOIN "dim Account Group" t1 ON t1."Account Group" = t0."Account Group"; +CREATE OR REPLACE TABLE "flat Account Group" AS SELECT t0."Account Group" AS "Account Group" FROM "dim Account Group" t0; +CREATE OR REPLACE TABLE "flat Brand" AS SELECT t0."Brand" AS "Brand", coalesce(t1."Brand Group", 1) AS "Brand Group", coalesce(t2."Brand Type", 2) AS "Brand Type" FROM "dim Brand" t0 LEFT JOIN "dim Brand Group" t1 ON t1."Brand Group" = t0."Brand Group" LEFT JOIN "dim Brand Type" t2 ON t2."Brand Type" = t0."Brand Type"; +CREATE OR REPLACE TABLE "flat Brand Group" AS SELECT t0."Brand Group" AS "Brand Group" FROM "dim Brand Group" t0; +CREATE OR REPLACE TABLE "flat Brand Type" AS SELECT t0."Brand Type" AS "Brand Type" FROM "dim Brand Type" t0; +CREATE OR REPLACE TABLE "flat Category" AS SELECT t0."Category" AS "Category", coalesce(t1."Division", 4) AS "Division" FROM "dim Category" t0 LEFT JOIN "dim Division" t1 ON t1."Division" = t0."Division"; +CREATE OR REPLACE TABLE "flat Channel" AS SELECT t0."Channel" AS "Channel" FROM "dim Channel" t0; +CREATE OR REPLACE TABLE "flat Cost Center" AS SELECT t0."Cost Center" AS "Cost Center", coalesce(t1."Function", 4) AS "Function", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Currency", 4) AS "Currency" FROM "dim Cost Center" t0 LEFT JOIN "dim Function" t1 ON t1."Function" = t0."Function" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t0."Channel" LEFT JOIN "dim Currency" t4 ON t4."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Country" AS SELECT t0."Country" AS "Country", coalesce(t1."Currency", 4) AS "Currency" FROM "dim Country" t0 LEFT JOIN "dim Currency" t1 ON t1."Currency" = t0."Currency"; +CREATE OR REPLACE TABLE "flat Currency" AS SELECT t0."Currency" AS "Currency" FROM "dim Currency" t0; +CREATE OR REPLACE TABLE "flat Customer" AS SELECT t0."Customer" AS "Customer", coalesce(t1."Customer Group", 1) AS "Customer Group", coalesce(t2."Region", 1) AS "Region", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Country", 1) AS "Country", coalesce(t5."Currency", 4) AS "Currency" FROM "dim Customer" t0 LEFT JOIN "dim Customer Group" t1 ON t1."Customer Group" = t0."Customer Group" LEFT JOIN "dim Region" t2 ON t2."Region" = t0."Region" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t1."Channel" LEFT JOIN "dim Country" t4 ON t4."Country" = t1."Country" LEFT JOIN "dim Currency" t5 ON t5."Currency" = t4."Currency"; +CREATE OR REPLACE TABLE "flat Customer Group" AS SELECT t0."Customer Group" AS "Customer Group", coalesce(t1."Channel", 4) AS "Channel", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Currency", 4) AS "Currency" FROM "dim Customer Group" t0 LEFT JOIN "dim Channel" t1 ON t1."Channel" = t0."Channel" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Currency" t3 ON t3."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Division" AS SELECT t0."Division" AS "Division" FROM "dim Division" t0; +CREATE OR REPLACE TABLE "flat Function" AS SELECT t0."Function" AS "Function" FROM "dim Function" t0; +CREATE OR REPLACE TABLE "flat Lifecycle Status" AS SELECT t0."Lifecycle Status" AS "Lifecycle Status" FROM "dim Lifecycle Status" t0; +CREATE OR REPLACE TABLE "flat Material" AS SELECT t0."Material" AS "Material", coalesce(t1."SKU", 1) AS "SKU", coalesce(t2."Product Line", 1) AS "Product Line", coalesce(t3."Pack Format", 5) AS "Pack Format", coalesce(t4."Size Band", 4) AS "Size Band", coalesce(t5."Price Tier", 2) AS "Price Tier", coalesce(t6."Temperature Zone", 4) AS "Temperature Zone", coalesce(t7."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t8."Plant", 1) AS "Plant", coalesce(t9."Subcategory", 1) AS "Subcategory", coalesce(t10."Brand", 1) AS "Brand", coalesce(t11."Supply Type", 2) AS "Supply Type", coalesce(t12."Category", 1) AS "Category", coalesce(t13."Brand Group", 1) AS "Brand Group", coalesce(t14."Brand Type", 2) AS "Brand Type", coalesce(t15."Division", 4) AS "Division" FROM "dim Material" t0 LEFT JOIN "dim SKU" t1 ON t1."SKU" = t0."SKU" LEFT JOIN "dim Product Line" t2 ON t2."Product Line" = t1."Product Line" LEFT JOIN "dim Pack Format" t3 ON t3."Pack Format" = t1."Pack Format" LEFT JOIN "dim Size Band" t4 ON t4."Size Band" = t1."Size Band" LEFT JOIN "dim Price Tier" t5 ON t5."Price Tier" = t1."Price Tier" LEFT JOIN "dim Temperature Zone" t6 ON t6."Temperature Zone" = t1."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t7 ON t7."Lifecycle Status" = t1."Lifecycle Status" LEFT JOIN "dim Plant" t8 ON t8."Plant" = t1."Plant" LEFT JOIN "dim Subcategory" t9 ON t9."Subcategory" = t2."Subcategory" LEFT JOIN "dim Brand" t10 ON t10."Brand" = t2."Brand" LEFT JOIN "dim Supply Type" t11 ON t11."Supply Type" = t8."Supply Type" LEFT JOIN "dim Category" t12 ON t12."Category" = t9."Category" LEFT JOIN "dim Brand Group" t13 ON t13."Brand Group" = t10."Brand Group" LEFT JOIN "dim Brand Type" t14 ON t14."Brand Type" = t10."Brand Type" LEFT JOIN "dim Division" t15 ON t15."Division" = t12."Division"; +CREATE OR REPLACE TABLE "flat PL Line" AS SELECT t0."PL Line" AS "PL Line" FROM "dim PL Line" t0; +CREATE OR REPLACE TABLE "flat Pack Format" AS SELECT t0."Pack Format" AS "Pack Format" FROM "dim Pack Format" t0; +CREATE OR REPLACE TABLE "flat Plant" AS SELECT t0."Plant" AS "Plant", coalesce(t1."Supply Type", 2) AS "Supply Type" FROM "dim Plant" t0 LEFT JOIN "dim Supply Type" t1 ON t1."Supply Type" = t0."Supply Type"; +CREATE OR REPLACE TABLE "flat Price Tier" AS SELECT t0."Price Tier" AS "Price Tier" FROM "dim Price Tier" t0; +CREATE OR REPLACE TABLE "flat Product Line" AS SELECT t0."Product Line" AS "Product Line", coalesce(t1."Subcategory", 1) AS "Subcategory", coalesce(t2."Brand", 1) AS "Brand", coalesce(t3."Category", 1) AS "Category", coalesce(t4."Brand Group", 1) AS "Brand Group", coalesce(t5."Brand Type", 2) AS "Brand Type", coalesce(t6."Division", 4) AS "Division" FROM "dim Product Line" t0 LEFT JOIN "dim Subcategory" t1 ON t1."Subcategory" = t0."Subcategory" LEFT JOIN "dim Brand" t2 ON t2."Brand" = t0."Brand" LEFT JOIN "dim Category" t3 ON t3."Category" = t1."Category" LEFT JOIN "dim Brand Group" t4 ON t4."Brand Group" = t2."Brand Group" LEFT JOIN "dim Brand Type" t5 ON t5."Brand Type" = t2."Brand Type" LEFT JOIN "dim Division" t6 ON t6."Division" = t3."Division"; +CREATE OR REPLACE TABLE "flat Region" AS SELECT t0."Region" AS "Region" FROM "dim Region" t0; +CREATE OR REPLACE TABLE "flat SKU" AS SELECT t0."SKU" AS "SKU", coalesce(t1."Product Line", 1) AS "Product Line", coalesce(t2."Pack Format", 5) AS "Pack Format", coalesce(t3."Size Band", 4) AS "Size Band", coalesce(t4."Price Tier", 2) AS "Price Tier", coalesce(t5."Temperature Zone", 4) AS "Temperature Zone", coalesce(t6."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t7."Plant", 1) AS "Plant", coalesce(t8."Subcategory", 1) AS "Subcategory", coalesce(t9."Brand", 1) AS "Brand", coalesce(t10."Supply Type", 2) AS "Supply Type", coalesce(t11."Category", 1) AS "Category", coalesce(t12."Brand Group", 1) AS "Brand Group", coalesce(t13."Brand Type", 2) AS "Brand Type", coalesce(t14."Division", 4) AS "Division" FROM "dim SKU" t0 LEFT JOIN "dim Product Line" t1 ON t1."Product Line" = t0."Product Line" LEFT JOIN "dim Pack Format" t2 ON t2."Pack Format" = t0."Pack Format" LEFT JOIN "dim Size Band" t3 ON t3."Size Band" = t0."Size Band" LEFT JOIN "dim Price Tier" t4 ON t4."Price Tier" = t0."Price Tier" LEFT JOIN "dim Temperature Zone" t5 ON t5."Temperature Zone" = t0."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t6 ON t6."Lifecycle Status" = t0."Lifecycle Status" LEFT JOIN "dim Plant" t7 ON t7."Plant" = t0."Plant" LEFT JOIN "dim Subcategory" t8 ON t8."Subcategory" = t1."Subcategory" LEFT JOIN "dim Brand" t9 ON t9."Brand" = t1."Brand" LEFT JOIN "dim Supply Type" t10 ON t10."Supply Type" = t7."Supply Type" LEFT JOIN "dim Category" t11 ON t11."Category" = t8."Category" LEFT JOIN "dim Brand Group" t12 ON t12."Brand Group" = t9."Brand Group" LEFT JOIN "dim Brand Type" t13 ON t13."Brand Type" = t9."Brand Type" LEFT JOIN "dim Division" t14 ON t14."Division" = t11."Division"; +CREATE OR REPLACE TABLE "flat Size Band" AS SELECT t0."Size Band" AS "Size Band" FROM "dim Size Band" t0; +CREATE OR REPLACE TABLE "flat Subcategory" AS SELECT t0."Subcategory" AS "Subcategory", coalesce(t1."Category", 1) AS "Category", coalesce(t2."Division", 4) AS "Division" FROM "dim Subcategory" t0 LEFT JOIN "dim Category" t1 ON t1."Category" = t0."Category" LEFT JOIN "dim Division" t2 ON t2."Division" = t1."Division"; +CREATE OR REPLACE TABLE "flat Supply Type" AS SELECT t0."Supply Type" AS "Supply Type" FROM "dim Supply Type" t0; +CREATE OR REPLACE TABLE "flat Temperature Zone" AS SELECT t0."Temperature Zone" AS "Temperature Zone" FROM "dim Temperature Zone" t0; -- @table "FC Actual" -- FC Actual = "FC Horizon IN" * "FC Closed IN" -CREATE OR REPLACE TEMP TABLE "FC Actual" AS +CREATE OR REPLACE TABLE "FC Actual" AS SELECT * FROM ( SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -39,7 +39,7 @@ SELECT * FROM ( -- @table "FC Plan" -- FC Plan = if(not(hasValue("FC Closed IN")), "FC Horizon IN") -CREATE OR REPLACE TEMP TABLE "FC Plan" AS +CREATE OR REPLACE TABLE "FC Plan" AS SELECT * FROM ( SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) d @@ -48,7 +48,7 @@ SELECT * FROM ( -- @table "FC Plan Months" -- FC Plan Months = "FC Plan" -CREATE OR REPLACE TEMP TABLE "FC Plan Months" AS +CREATE OR REPLACE TABLE "FC Plan Months" AS SELECT * FROM ( SELECT d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "FC Plan" s GROUP BY s."Versions", s."Years") d @@ -56,7 +56,7 @@ SELECT * FROM ( -- @table "Volume ACT" -- Volume ACT = "IMPORT Volume" -CREATE OR REPLACE TEMP TABLE "Volume ACT" AS +CREATE OR REPLACE TABLE "Volume ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Volume" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -64,7 +64,7 @@ SELECT * FROM ( -- @table "Gross Sales ACT" -- Gross Sales ACT = "IMPORT Gross Sales" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT" AS +CREATE OR REPLACE TABLE "Gross Sales ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -72,7 +72,7 @@ SELECT * FROM ( -- @table "Standard Discounts ACT" -- Standard Discounts ACT = "IMPORT Standard Discounts" -CREATE OR REPLACE TEMP TABLE "Standard Discounts ACT" AS +CREATE OR REPLACE TABLE "Standard Discounts ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Standard Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -80,7 +80,7 @@ SELECT * FROM ( -- @table "Promo Discounts ACT" -- Promo Discounts ACT = "IMPORT Promo Discounts" -CREATE OR REPLACE TEMP TABLE "Promo Discounts ACT" AS +CREATE OR REPLACE TABLE "Promo Discounts ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -88,7 +88,7 @@ SELECT * FROM ( -- @table "Logistics Discounts ACT" -- Logistics Discounts ACT = "IMPORT Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts ACT" AS +CREATE OR REPLACE TABLE "Logistics Discounts ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Logistics Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -96,7 +96,7 @@ SELECT * FROM ( -- @table "Promo Funding ACT" -- Promo Funding ACT = "IMPORT Promo Funding" -CREATE OR REPLACE TEMP TABLE "Promo Funding ACT" AS +CREATE OR REPLACE TABLE "Promo Funding ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Funding" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d @@ -104,14 +104,14 @@ SELECT * FROM ( -- @table "Invoice Sales ACT" -- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT" AS +CREATE OR REPLACE TABLE "Invoice Sales ACT" AS SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u GROUP BY u."Customer", u."SKU", u."Years", u."Months"; -- @table "Invoice Sales ACT by Group" -- Invoice Sales ACT by Group = "Invoice Sales ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT by Group" AS +CREATE OR REPLACE TABLE "Invoice Sales ACT by Group" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d @@ -119,7 +119,7 @@ SELECT * FROM ( -- @table "Group Key ACT" -- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Group Key ACT" AS +CREATE OR REPLACE TABLE "Group Key ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d @@ -127,14 +127,14 @@ SELECT * FROM ( -- @table "Rebate Expense ACT" -- Rebate Expense ACT = "IMPORT Rebates" + "IMPORT Rebate True-ups" -CREATE OR REPLACE TEMP TABLE "Rebate Expense ACT" AS +CREATE OR REPLACE TABLE "Rebate Expense ACT" AS SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebate True-ups" s) r1) u GROUP BY u."Customer Group", u."Years", u."Months"; -- @table "Rebates ACT" -- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS +CREATE OR REPLACE TABLE "Rebates ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d @@ -142,7 +142,7 @@ SELECT * FROM ( -- @table "Growth Bonus ACT" -- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS +CREATE OR REPLACE TABLE "Growth Bonus ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d @@ -150,21 +150,21 @@ SELECT * FROM ( -- @table "Rebates Unallocated ACT" -- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS +CREATE OR REPLACE TABLE "Rebates Unallocated ACT" AS SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u GROUP BY u."Customer Group", u."Years", u."Months"; -- @table "Growth Bonus Unallocated ACT" -- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS +CREATE OR REPLACE TABLE "Growth Bonus Unallocated ACT" AS SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u GROUP BY u."Customer Group", u."Years", u."Months"; -- @table "Gross Sales ACT by Group Brand" -- Gross Sales ACT by Group Brand = "Gross Sales ACT" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT by Group Brand" AS +CREATE OR REPLACE TABLE "Gross Sales ACT by Group Brand" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d @@ -172,7 +172,7 @@ SELECT * FROM ( -- @table "Standard Discounts ACT by Group Brand" -- Standard Discounts ACT by Group Brand = "Standard Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Standard Discounts ACT by Group Brand" AS +CREATE OR REPLACE TABLE "Standard Discounts ACT by Group Brand" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d @@ -180,7 +180,7 @@ SELECT * FROM ( -- @table "Standard Discount Rate ACT" -- Standard Discount Rate ACT = if(gt("Gross Sales ACT by Group Brand", 0), "Standard Discounts ACT by Group Brand" / "Gross Sales ACT by Group Brand") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate ACT" AS +CREATE OR REPLACE TABLE "Standard Discount Rate ACT" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group Brand" s) d @@ -189,7 +189,7 @@ SELECT * FROM ( -- @table "Rebate Rate ACT" -- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS +CREATE OR REPLACE TABLE "Rebate Rate ACT" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d @@ -198,7 +198,7 @@ SELECT * FROM ( -- @table "Gross Sales ACT by Group" -- Gross Sales ACT by Group = "Gross Sales ACT" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT by Group" AS +CREATE OR REPLACE TABLE "Gross Sales ACT by Group" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d @@ -206,7 +206,7 @@ SELECT * FROM ( -- @table "Logistics Discounts ACT by Group" -- Logistics Discounts ACT by Group = "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts ACT by Group" AS +CREATE OR REPLACE TABLE "Logistics Discounts ACT by Group" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Logistics Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d @@ -214,7 +214,7 @@ SELECT * FROM ( -- @table "Logistics Discount Rate ACT" -- Logistics Discount Rate ACT = if(gt("Gross Sales ACT by Group", 0), "Logistics Discounts ACT by Group" / "Gross Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate ACT" AS +CREATE OR REPLACE TABLE "Logistics Discount Rate ACT" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group" s) d @@ -223,7 +223,7 @@ SELECT * FROM ( -- @table "COGS ACT" -- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" -CREATE OR REPLACE TEMP TABLE "COGS ACT" AS +CREATE OR REPLACE TABLE "COGS ACT" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d @@ -231,19 +231,19 @@ SELECT * FROM ( -- @table "Volume LY" -- Volume LY = delay("Volume ACT", 12) -CREATE OR REPLACE TEMP TABLE "Volume LY" AS +CREATE OR REPLACE TABLE "Volume LY" AS SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v FROM "Volume ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; -- @table "Invoice Sales ACT LY" -- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT LY" AS +CREATE OR REPLACE TABLE "Invoice Sales ACT LY" AS SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; -- @table "Invoice Sales LY by Group" -- Invoice Sales LY by Group = "Invoice Sales ACT LY" -CREATE OR REPLACE TEMP TABLE "Invoice Sales LY by Group" AS +CREATE OR REPLACE TABLE "Invoice Sales LY by Group" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d @@ -251,7 +251,7 @@ SELECT * FROM ( -- @table "Volume LY Plan" -- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") -CREATE OR REPLACE TEMP TABLE "Volume LY Plan" AS +CREATE OR REPLACE TABLE "Volume LY Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -259,7 +259,7 @@ SELECT * FROM ( -- @table "Volume Growth Baseline" -- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") -CREATE OR REPLACE TEMP TABLE "Volume Growth Baseline" AS +CREATE OR REPLACE TABLE "Volume Growth Baseline" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d @@ -270,7 +270,7 @@ SELECT * FROM ( -- @table "Volume LY by Group Category" -- Volume LY by Group Category = "Volume LY" -CREATE OR REPLACE TEMP TABLE "Volume LY by Group Category" AS +CREATE OR REPLACE TABLE "Volume LY by Group Category" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Category" AS "Category", d."Years" AS "Years", d.v AS v FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", u1."Category" AS "Category", sum(s.v) AS v FROM "Volume LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", u0."Customer Group", u1."Category") d @@ -278,7 +278,7 @@ SELECT * FROM ( -- @table "Volume Target Key" -- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") -CREATE OR REPLACE TEMP TABLE "Volume Target Key" AS +CREATE OR REPLACE TABLE "Volume Target Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d @@ -286,7 +286,7 @@ SELECT * FROM ( -- @table "Volume Target Cascade" -- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" -CREATE OR REPLACE TEMP TABLE "Volume Target Cascade" AS +CREATE OR REPLACE TABLE "Volume Target Cascade" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d @@ -294,7 +294,7 @@ SELECT * FROM ( -- @table "Volume Baseline" -- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS +CREATE OR REPLACE TABLE "Volume Baseline" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d @@ -308,7 +308,7 @@ SELECT * FROM ( -- @table "Volume Planned" -- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS +CREATE OR REPLACE TABLE "Volume Planned" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d @@ -322,7 +322,7 @@ SELECT * FROM ( -- @table "Volume Plan" -- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS +CREATE OR REPLACE TABLE "Volume Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -330,7 +330,7 @@ SELECT * FROM ( -- @table "List Price Reset" -- List Price Reset = if(eq("FC Closed IN", 1), "IMPORT List Price") -CREATE OR REPLACE TEMP TABLE "List Price Reset" AS +CREATE OR REPLACE TABLE "List Price Reset" AS SELECT * FROM ( SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."SKU" AS "SKU", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT List Price" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -338,7 +338,7 @@ SELECT * FROM ( -- @table "List Price Carry" -- List Price Carry = cumsum(0, 0, "List Price Reset") -CREATE OR REPLACE TEMP TABLE "List Price Carry" AS +CREATE OR REPLACE TABLE "List Price Carry" AS WITH s AS (SELECT x."SKU" AS "SKU", x."Country" AS "Country", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "List Price Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), f0 AS (SELECT "SKU", "Country", "Versions", min(p) AS p0 FROM s GROUP BY "SKU", "Country", "Versions"), g AS (SELECT f."SKU" AS "SKU", f."Country" AS "Country", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) @@ -347,7 +347,7 @@ FROM g ASOF JOIN s ON s."SKU" = g."SKU" AND s."Country" = g."Country" AND s."Ver -- @table "List Price Plan" -- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") -CREATE OR REPLACE TEMP TABLE "List Price Plan" AS +CREATE OR REPLACE TABLE "List Price Plan" AS SELECT * FROM ( SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d @@ -357,7 +357,7 @@ SELECT * FROM ( -- @table "Standard Discount Rate Reset" -- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Reset" AS +CREATE OR REPLACE TABLE "Standard Discount Rate Reset" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -365,7 +365,7 @@ SELECT * FROM ( -- @table "Standard Discount Rate Carry" -- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Carry" AS +CREATE OR REPLACE TABLE "Standard Discount Rate Carry" AS WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) @@ -374,7 +374,7 @@ FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g. -- @table "Standard Discount Rate" -- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate" AS +CREATE OR REPLACE TABLE "Standard Discount Rate" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d @@ -388,7 +388,7 @@ SELECT * FROM ( -- @table "Rebate Rate Reset" -- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS +CREATE OR REPLACE TABLE "Rebate Rate Reset" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -396,7 +396,7 @@ SELECT * FROM ( -- @table "Rebate Rate Carry" -- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS +CREATE OR REPLACE TABLE "Rebate Rate Carry" AS WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) @@ -405,7 +405,7 @@ FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = -- @table "Rebate Rate" -- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS +CREATE OR REPLACE TABLE "Rebate Rate" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d @@ -419,7 +419,7 @@ SELECT * FROM ( -- @table "Logistics Discount Rate Reset" -- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Reset" AS +CREATE OR REPLACE TABLE "Logistics Discount Rate Reset" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -427,7 +427,7 @@ SELECT * FROM ( -- @table "Logistics Discount Rate Carry" -- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Carry" AS +CREATE OR REPLACE TABLE "Logistics Discount Rate Carry" AS WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) @@ -436,7 +436,7 @@ FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = -- @table "Logistics Discount Rate" -- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate" AS +CREATE OR REPLACE TABLE "Logistics Discount Rate" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d @@ -450,7 +450,7 @@ SELECT * FROM ( -- @table "FX Rate Reset" -- FX Rate Reset = if(eq("FC Closed IN", 1), "IMPORT FX Rate") -CREATE OR REPLACE TEMP TABLE "FX Rate Reset" AS +CREATE OR REPLACE TABLE "FX Rate Reset" AS SELECT * FROM ( SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -458,7 +458,7 @@ SELECT * FROM ( -- @table "FX Rate Carry" -- FX Rate Carry = cumsum(0, 0, "FX Rate Reset") -CREATE OR REPLACE TEMP TABLE "FX Rate Carry" AS +CREATE OR REPLACE TABLE "FX Rate Carry" AS WITH s AS (SELECT x."Currency" AS "Currency", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "FX Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), f0 AS (SELECT "Currency", "Versions", min(p) AS p0 FROM s GROUP BY "Currency", "Versions"), g AS (SELECT f."Currency" AS "Currency", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) @@ -467,7 +467,7 @@ FROM g ASOF JOIN s ON s."Currency" = g."Currency" AND s."Versions" = g."Versions -- @table "FX Rate Plan" -- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) -CREATE OR REPLACE TEMP TABLE "FX Rate Plan" AS +CREATE OR REPLACE TABLE "FX Rate Plan" AS SELECT * FROM ( SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -478,7 +478,7 @@ SELECT * FROM ( -- @table "Gross Sales Plan" -- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS +CREATE OR REPLACE TABLE "Gross Sales Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -486,7 +486,7 @@ SELECT * FROM ( -- @table "Standard Discounts Plan" -- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS +CREATE OR REPLACE TABLE "Standard Discounts Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d @@ -494,7 +494,7 @@ SELECT * FROM ( -- @table "Promo Discounts Plan" -- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS +CREATE OR REPLACE TABLE "Promo Discounts Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d @@ -502,7 +502,7 @@ SELECT * FROM ( -- @table "Logistics Discounts Plan" -- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS +CREATE OR REPLACE TABLE "Logistics Discounts Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d @@ -510,7 +510,7 @@ SELECT * FROM ( -- @table "Promo Funding Plan" -- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") -CREATE OR REPLACE TEMP TABLE "Promo Funding Plan" AS +CREATE OR REPLACE TABLE "Promo Funding Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -518,7 +518,7 @@ SELECT * FROM ( -- @table "Standard Cost Plan" -- Standard Cost Plan = if(hasValue("Standard Cost IN"), "Standard Cost IN", "IMPORT Standard Cost") -CREATE OR REPLACE TEMP TABLE "Standard Cost Plan" AS +CREATE OR REPLACE TABLE "Standard Cost Plan" AS SELECT * FROM ( SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v FROM (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) d @@ -532,7 +532,7 @@ SELECT * FROM ( -- @table "COGS Plan" -- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS +CREATE OR REPLACE TABLE "COGS Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d @@ -540,7 +540,7 @@ SELECT * FROM ( -- @table "Gross Sales" -- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS +CREATE OR REPLACE TABLE "Gross Sales" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -554,7 +554,7 @@ SELECT * FROM ( -- @table "Standard Discounts" -- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS +CREATE OR REPLACE TABLE "Standard Discounts" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -568,7 +568,7 @@ SELECT * FROM ( -- @table "Promo Discounts" -- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS +CREATE OR REPLACE TABLE "Promo Discounts" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -582,7 +582,7 @@ SELECT * FROM ( -- @table "Logistics Discounts" -- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS +CREATE OR REPLACE TABLE "Logistics Discounts" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -596,14 +596,14 @@ SELECT * FROM ( -- @table "Invoice Sales" -- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS +CREATE OR REPLACE TABLE "Invoice Sales" AS SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; -- @table "Invoice Sales Plan" -- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS +CREATE OR REPLACE TABLE "Invoice Sales Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -611,7 +611,7 @@ SELECT * FROM ( -- @table "Rebates Plan" -- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS +CREATE OR REPLACE TABLE "Rebates Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d @@ -619,7 +619,7 @@ SELECT * FROM ( -- @table "Invoice Sales by Group Year" -- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS +CREATE OR REPLACE TABLE "Invoice Sales by Group Year" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d @@ -627,7 +627,7 @@ SELECT * FROM ( -- @table "Growth Bonus Rate" -- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS +CREATE OR REPLACE TABLE "Growth Bonus Rate" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d @@ -638,7 +638,7 @@ SELECT * FROM ( -- @table "Growth Bonus Entitlement" -- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS +CREATE OR REPLACE TABLE "Growth Bonus Entitlement" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d @@ -647,7 +647,7 @@ SELECT * FROM ( -- @table "Growth Bonus Booked Monthly" -- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked Monthly" AS +CREATE OR REPLACE TABLE "Growth Bonus Booked Monthly" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -655,7 +655,7 @@ SELECT * FROM ( -- @table "Growth Bonus Booked" -- Growth Bonus Booked = "Growth Bonus Booked Monthly" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked" AS +CREATE OR REPLACE TABLE "Growth Bonus Booked" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d @@ -663,7 +663,7 @@ SELECT * FROM ( -- @table "Invoice Sales Plan by Group Year" -- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS +CREATE OR REPLACE TABLE "Invoice Sales Plan by Group Year" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d @@ -671,7 +671,7 @@ SELECT * FROM ( -- @table "Growth Bonus Remaining" -- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS +CREATE OR REPLACE TABLE "Growth Bonus Remaining" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d @@ -682,7 +682,7 @@ SELECT * FROM ( -- @table "Growth Bonus Plan" -- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS +CREATE OR REPLACE TABLE "Growth Bonus Plan" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d @@ -690,7 +690,7 @@ SELECT * FROM ( -- @table "Growth Bonus Plan Unallocated" -- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS +CREATE OR REPLACE TABLE "Growth Bonus Plan Unallocated" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d @@ -699,7 +699,7 @@ SELECT * FROM ( -- @table "Trade Fees Plan" -- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") -CREATE OR REPLACE TEMP TABLE "Trade Fees Plan" AS +CREATE OR REPLACE TABLE "Trade Fees Plan" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -707,7 +707,7 @@ SELECT * FROM ( -- @table "Marketing Spend Plan" -- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") -CREATE OR REPLACE TEMP TABLE "Marketing Spend Plan" AS +CREATE OR REPLACE TABLE "Marketing Spend Plan" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -715,7 +715,7 @@ SELECT * FROM ( -- @table "Marketing Split Monthly" -- Marketing Split Monthly = "Marketing Split IN" -CREATE OR REPLACE TEMP TABLE "Marketing Split Monthly" AS +CREATE OR REPLACE TABLE "Marketing Split Monthly" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.p0_v AS v FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", m_4."Months" AS "Months", p0.v AS p0_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Marketing Split IN" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) AS "Months") m_4) d @@ -723,7 +723,7 @@ SELECT * FROM ( -- @table "Marketing Plan EUR" -- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan EUR" AS +CREATE OR REPLACE TABLE "Marketing Plan EUR" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -731,7 +731,7 @@ SELECT * FROM ( -- @table "Marketing Plan" -- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS +CREATE OR REPLACE TABLE "Marketing Plan" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d @@ -739,7 +739,7 @@ SELECT * FROM ( -- @table "OPEX Plan" -- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") -CREATE OR REPLACE TEMP TABLE "OPEX Plan" AS +CREATE OR REPLACE TABLE "OPEX Plan" AS SELECT * FROM ( SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -747,7 +747,7 @@ SELECT * FROM ( -- @table "Volume" -- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS +CREATE OR REPLACE TABLE "Volume" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -761,7 +761,7 @@ SELECT * FROM ( -- @table "Promo Funding" -- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") -CREATE OR REPLACE TEMP TABLE "Promo Funding" AS +CREATE OR REPLACE TABLE "Promo Funding" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -775,7 +775,7 @@ SELECT * FROM ( -- @table "COGS" -- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS +CREATE OR REPLACE TABLE "COGS" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -789,7 +789,7 @@ SELECT * FROM ( -- @table "Rebates" -- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS +CREATE OR REPLACE TABLE "Rebates" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -803,7 +803,7 @@ SELECT * FROM ( -- @table "Growth Bonus" -- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS +CREATE OR REPLACE TABLE "Growth Bonus" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -817,7 +817,7 @@ SELECT * FROM ( -- @table "Rebates Unallocated" -- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS +CREATE OR REPLACE TABLE "Rebates Unallocated" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -825,7 +825,7 @@ SELECT * FROM ( -- @table "Growth Bonus Unallocated" -- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS +CREATE OR REPLACE TABLE "Growth Bonus Unallocated" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -839,7 +839,7 @@ SELECT * FROM ( -- @table "Trade Fees Pool" -- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") -CREATE OR REPLACE TEMP TABLE "Trade Fees Pool" AS +CREATE OR REPLACE TABLE "Trade Fees Pool" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -853,7 +853,7 @@ SELECT * FROM ( -- @table "Marketing Pool" -- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS +CREATE OR REPLACE TABLE "Marketing Pool" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -867,7 +867,7 @@ SELECT * FROM ( -- @table "OPEX" -- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") -CREATE OR REPLACE TEMP TABLE "OPEX" AS +CREATE OR REPLACE TABLE "OPEX" AS SELECT * FROM ( SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -881,7 +881,7 @@ SELECT * FROM ( -- @table "FX Rate" -- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") -CREATE OR REPLACE TEMP TABLE "FX Rate" AS +CREATE OR REPLACE TABLE "FX Rate" AS SELECT * FROM ( SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d @@ -895,7 +895,7 @@ SELECT * FROM ( -- @table "Volume KG" -- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS +CREATE OR REPLACE TABLE "Volume KG" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d @@ -903,7 +903,7 @@ SELECT * FROM ( -- @table "Handling KG" -- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS +CREATE OR REPLACE TABLE "Handling KG" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d @@ -911,7 +911,7 @@ SELECT * FROM ( -- @table "Invoice Sales Positive" -- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS +CREATE OR REPLACE TABLE "Invoice Sales Positive" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d @@ -919,7 +919,7 @@ SELECT * FROM ( -- @table "Invoice Sales by Group Brand" -- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS +CREATE OR REPLACE TABLE "Invoice Sales by Group Brand" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d @@ -927,7 +927,7 @@ SELECT * FROM ( -- @table "Trade Fees Key" -- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS +CREATE OR REPLACE TABLE "Trade Fees Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d @@ -935,7 +935,7 @@ SELECT * FROM ( -- @table "Trade Fees" -- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS +CREATE OR REPLACE TABLE "Trade Fees" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d @@ -943,28 +943,28 @@ SELECT * FROM ( -- @table "Trade Fees Unallocated" -- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS +CREATE OR REPLACE TABLE "Trade Fees Unallocated" AS SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; -- @table "Net Sales" -- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS +CREATE OR REPLACE TABLE "Net Sales" AS SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; -- @table "Gross Margin" -- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS +CREATE OR REPLACE TABLE "Gross Margin" AS SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; -- @table "Invoice Sales by Customer Brand" -- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS +CREATE OR REPLACE TABLE "Invoice Sales by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d @@ -972,7 +972,7 @@ SELECT * FROM ( -- @table "Net Sales by Customer Brand" -- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS +CREATE OR REPLACE TABLE "Net Sales by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d @@ -980,7 +980,7 @@ SELECT * FROM ( -- @table "Gross Margin by Customer Brand" -- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS +CREATE OR REPLACE TABLE "Gross Margin by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d @@ -988,7 +988,7 @@ SELECT * FROM ( -- @table "Handling KG by Customer Brand" -- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS +CREATE OR REPLACE TABLE "Handling KG by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d @@ -996,7 +996,7 @@ SELECT * FROM ( -- @table "Logistics Pool" -- Logistics Pool = sum("OPEX", Function>Logistics) -CREATE OR REPLACE TEMP TABLE "Logistics Pool" AS +CREATE OR REPLACE TABLE "Logistics Pool" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1004,7 +1004,7 @@ SELECT * FROM ( -- @table "Handling KG Positive" -- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS +CREATE OR REPLACE TABLE "Handling KG Positive" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d @@ -1012,7 +1012,7 @@ SELECT * FROM ( -- @table "Handling KG by Country" -- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS +CREATE OR REPLACE TABLE "Handling KG by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1020,7 +1020,7 @@ SELECT * FROM ( -- @table "Logistics Key" -- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS +CREATE OR REPLACE TABLE "Logistics Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -1028,7 +1028,7 @@ SELECT * FROM ( -- @table "Logistics Cost" -- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS +CREATE OR REPLACE TABLE "Logistics Cost" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -1036,14 +1036,14 @@ SELECT * FROM ( -- @table "Logistics Unallocated" -- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS +CREATE OR REPLACE TABLE "Logistics Unallocated" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; -- @table "Sales Force Pool" -- Sales Force Pool = sum("OPEX", Function>Sales) -CREATE OR REPLACE TEMP TABLE "Sales Force Pool" AS +CREATE OR REPLACE TABLE "Sales Force Pool" AS SELECT * FROM ( SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1051,7 +1051,7 @@ SELECT * FROM ( -- @table "Invoice Sales Positive by Customer Brand" -- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS +CREATE OR REPLACE TABLE "Invoice Sales Positive by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d @@ -1059,7 +1059,7 @@ SELECT * FROM ( -- @table "Invoice Sales by Channel Country" -- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS +CREATE OR REPLACE TABLE "Invoice Sales by Channel Country" AS SELECT * FROM ( SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1067,7 +1067,7 @@ SELECT * FROM ( -- @table "Sales Force Key" -- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS +CREATE OR REPLACE TABLE "Sales Force Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d @@ -1075,7 +1075,7 @@ SELECT * FROM ( -- @table "Sales Force Cost" -- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS +CREATE OR REPLACE TABLE "Sales Force Cost" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d @@ -1083,21 +1083,21 @@ SELECT * FROM ( -- @table "Sales Force Unallocated" -- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS +CREATE OR REPLACE TABLE "Sales Force Unallocated" AS SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; -- @table "Contribution Margin II" -- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS +CREATE OR REPLACE TABLE "Contribution Margin II" AS SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; -- @table "Net Sales Positive" -- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS +CREATE OR REPLACE TABLE "Net Sales Positive" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d @@ -1105,7 +1105,7 @@ SELECT * FROM ( -- @table "Net Sales by Brand Country" -- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS +CREATE OR REPLACE TABLE "Net Sales by Brand Country" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d @@ -1113,7 +1113,7 @@ SELECT * FROM ( -- @table "Marketing Key" -- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS +CREATE OR REPLACE TABLE "Marketing Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -1121,7 +1121,7 @@ SELECT * FROM ( -- @table "Marketing Cost" -- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS +CREATE OR REPLACE TABLE "Marketing Cost" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -1129,21 +1129,21 @@ SELECT * FROM ( -- @table "Marketing Unallocated" -- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS +CREATE OR REPLACE TABLE "Marketing Unallocated" AS SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; -- @table "Contribution Margin III" -- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS +CREATE OR REPLACE TABLE "Contribution Margin III" AS SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; -- @table "Overheads" -- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS +CREATE OR REPLACE TABLE "Overheads" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1151,7 +1151,7 @@ SELECT * FROM ( -- @table "Contribution Margin III by Country" -- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS +CREATE OR REPLACE TABLE "Contribution Margin III by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1159,7 +1159,7 @@ SELECT * FROM ( -- @table "Trade Fees Unallocated by Country" -- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS +CREATE OR REPLACE TABLE "Trade Fees Unallocated by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1167,7 +1167,7 @@ SELECT * FROM ( -- @table "Rebates Unallocated by Country" -- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS +CREATE OR REPLACE TABLE "Rebates Unallocated by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1175,7 +1175,7 @@ SELECT * FROM ( -- @table "Growth Bonus Unallocated by Country" -- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS +CREATE OR REPLACE TABLE "Growth Bonus Unallocated by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1183,21 +1183,21 @@ SELECT * FROM ( -- @table "Unallocated by Country" -- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS +CREATE OR REPLACE TABLE "Unallocated by Country" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; -- @table "EBIT OUT" -- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS +CREATE OR REPLACE TABLE "EBIT OUT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; -- @table "EBIT EUR OUT" -- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS +CREATE OR REPLACE TABLE "EBIT EUR OUT" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d @@ -1205,7 +1205,7 @@ SELECT * FROM ( -- @table "PL Gross Sales" -- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS +CREATE OR REPLACE TABLE "PL Gross Sales" AS SELECT * FROM ( SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1213,7 +1213,7 @@ SELECT * FROM ( -- @table "PL Standard Discounts" -- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS +CREATE OR REPLACE TABLE "PL Standard Discounts" AS SELECT * FROM ( SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1221,7 +1221,7 @@ SELECT * FROM ( -- @table "PL Promo Discounts" -- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS +CREATE OR REPLACE TABLE "PL Promo Discounts" AS SELECT * FROM ( SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1229,7 +1229,7 @@ SELECT * FROM ( -- @table "PL Logistics Discounts" -- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS +CREATE OR REPLACE TABLE "PL Logistics Discounts" AS SELECT * FROM ( SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1237,7 +1237,7 @@ SELECT * FROM ( -- @table "PL Rebates" -- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS +CREATE OR REPLACE TABLE "PL Rebates" AS SELECT * FROM ( SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1245,7 +1245,7 @@ SELECT * FROM ( -- @table "PL Growth Bonus" -- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS +CREATE OR REPLACE TABLE "PL Growth Bonus" AS SELECT * FROM ( SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1253,7 +1253,7 @@ SELECT * FROM ( -- @table "PL Trade Fees" -- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS +CREATE OR REPLACE TABLE "PL Trade Fees" AS SELECT * FROM ( SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1261,7 +1261,7 @@ SELECT * FROM ( -- @table "PL Promo Funding" -- PL Promo Funding = -1 * "Promo Funding" -CREATE OR REPLACE TEMP TABLE "PL Promo Funding" AS +CREATE OR REPLACE TABLE "PL Promo Funding" AS SELECT * FROM ( SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1269,7 +1269,7 @@ SELECT * FROM ( -- @table "PL COGS" -- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS +CREATE OR REPLACE TABLE "PL COGS" AS SELECT * FROM ( SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1277,7 +1277,7 @@ SELECT * FROM ( -- @table "PL Logistics" -- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS +CREATE OR REPLACE TABLE "PL Logistics" AS SELECT * FROM ( SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1285,7 +1285,7 @@ SELECT * FROM ( -- @table "PL Sales Force" -- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS +CREATE OR REPLACE TABLE "PL Sales Force" AS SELECT * FROM ( SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1293,7 +1293,7 @@ SELECT * FROM ( -- @table "PL Marketing" -- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS +CREATE OR REPLACE TABLE "PL Marketing" AS SELECT * FROM ( SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1301,7 +1301,7 @@ SELECT * FROM ( -- @table "PL Overheads" -- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS +CREATE OR REPLACE TABLE "PL Overheads" AS SELECT * FROM ( SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d @@ -1309,7 +1309,7 @@ SELECT * FROM ( -- @table "PL Rebates Unallocated" -- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS +CREATE OR REPLACE TABLE "PL Rebates Unallocated" AS SELECT * FROM ( SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1317,7 +1317,7 @@ SELECT * FROM ( -- @table "PL Growth Bonus Unallocated" -- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS +CREATE OR REPLACE TABLE "PL Growth Bonus Unallocated" AS SELECT * FROM ( SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1325,7 +1325,7 @@ SELECT * FROM ( -- @table "PL Trade Fees Unallocated" -- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS +CREATE OR REPLACE TABLE "PL Trade Fees Unallocated" AS SELECT * FROM ( SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -1333,7 +1333,7 @@ SELECT * FROM ( -- @table "PL Logistics Unallocated" -- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS +CREATE OR REPLACE TABLE "PL Logistics Unallocated" AS SELECT * FROM ( SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d @@ -1341,7 +1341,7 @@ SELECT * FROM ( -- @table "PL Sales Force Unallocated" -- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS +CREATE OR REPLACE TABLE "PL Sales Force Unallocated" AS SELECT * FROM ( SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d @@ -1349,7 +1349,7 @@ SELECT * FROM ( -- @table "PL Marketing Unallocated" -- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS +CREATE OR REPLACE TABLE "PL Marketing Unallocated" AS SELECT * FROM ( SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d @@ -1357,14 +1357,14 @@ SELECT * FROM ( -- @table "PL OUT" -- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS +CREATE OR REPLACE TABLE "PL OUT" AS SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; -- @table "PL EUR OUT" -- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS +CREATE OR REPLACE TABLE "PL EUR OUT" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d @@ -1372,7 +1372,7 @@ SELECT * FROM ( -- @table "Volume by Brand Channel Country" -- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS +CREATE OR REPLACE TABLE "Volume by Brand Channel Country" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d @@ -1380,7 +1380,7 @@ SELECT * FROM ( -- @table "Volume for KPIs" -- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS +CREATE OR REPLACE TABLE "Volume for KPIs" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d @@ -1388,7 +1388,7 @@ SELECT * FROM ( -- @table "Gross Sales Loaded by Country" -- Gross Sales Loaded by Country = "IMPORT Gross Sales" -CREATE OR REPLACE TEMP TABLE "Gross Sales Loaded by Country" AS +CREATE OR REPLACE TABLE "Gross Sales Loaded by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Country") d @@ -1396,21 +1396,21 @@ SELECT * FROM ( -- @table "CHECK Import Total" -- CHECK Import Total = "IMPORT Control Total" - "Gross Sales Loaded by Country" -CREATE OR REPLACE TEMP TABLE "CHECK Import Total" AS +CREATE OR REPLACE TABLE "CHECK Import Total" AS SELECT u."Country" AS "Country", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Control Total" s) r0 UNION ALL SELECT "Country", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Loaded by Country" s) r1) u GROUP BY u."Country", u."Years", u."Months"; -- @table "CHECK Marketing Split" -- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" -CREATE OR REPLACE TEMP TABLE "CHECK Marketing Split" AS +CREATE OR REPLACE TABLE "CHECK Marketing Split" AS SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u GROUP BY u."Brand", u."Versions", u."Years", u."Months"; -- @table "CHECK Growth Bonus" -- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS +CREATE OR REPLACE TABLE "CHECK Growth Bonus" AS SELECT * FROM ( SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d @@ -1423,7 +1423,7 @@ SELECT * FROM ( -- @table "OPEX by Country" -- OPEX by Country = "OPEX" -CREATE OR REPLACE TEMP TABLE "OPEX by Country" AS +CREATE OR REPLACE TABLE "OPEX by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -1431,14 +1431,14 @@ SELECT * FROM ( -- @table "CHECK OPEX in EBIT" -- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS +CREATE OR REPLACE TABLE "CHECK OPEX in EBIT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; -- @table "CHECK Uncosted Volume" -- CHECK Uncosted Volume = if(not(hasValue("IMPORT Standard Cost")), "Volume ACT") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Volume" AS +CREATE OR REPLACE TABLE "CHECK Uncosted Volume" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) d @@ -1447,7 +1447,7 @@ SELECT * FROM ( -- @table "CHECK Uncosted Plan Volume" -- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS +CREATE OR REPLACE TABLE "CHECK Uncosted Plan Volume" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d @@ -1456,7 +1456,7 @@ SELECT * FROM ( -- @table "CHECK Unpriced Volume" -- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS +CREATE OR REPLACE TABLE "CHECK Unpriced Volume" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d @@ -1466,7 +1466,7 @@ SELECT * FROM ( -- @table "CHECK Volume without FX Rate" -- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS +CREATE OR REPLACE TABLE "CHECK Volume without FX Rate" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d @@ -1476,7 +1476,7 @@ SELECT * FROM ( -- @table "CHECK Marketing without FX Rate" -- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS +CREATE OR REPLACE TABLE "CHECK Marketing without FX Rate" AS SELECT * FROM ( SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d @@ -1486,7 +1486,7 @@ SELECT * FROM ( -- @table "CHECK PL without FX Rate" -- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS +CREATE OR REPLACE TABLE "CHECK PL without FX Rate" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d @@ -1496,7 +1496,7 @@ SELECT * FROM ( -- @table "CHECK EUR Rate" -- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) -CREATE OR REPLACE TEMP TABLE "CHECK EUR Rate" AS +CREATE OR REPLACE TABLE "CHECK EUR Rate" AS SELECT * FROM ( SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d diff --git a/systems/duckdb-tables/sql/m1.json b/systems/duckdb-tables/sql/m1.json index 47ca777..4544f08 100644 --- a/systems/duckdb-tables/sql/m1.json +++ b/systems/duckdb-tables/sql/m1.json @@ -34,24 +34,172 @@ "Handling KG" ], "tables": [ + "FC Actual", + "FC Plan", + "FC Plan Months", + "Volume ACT", + "Gross Sales ACT", + "Standard Discounts ACT", + "Promo Discounts ACT", + "Logistics Discounts ACT", + "Promo Funding ACT", + "Invoice Sales ACT", + "Invoice Sales ACT by Group", + "Group Key ACT", + "Rebate Expense ACT", + "Rebates ACT", + "Growth Bonus ACT", + "Rebates Unallocated ACT", + "Growth Bonus Unallocated ACT", + "Gross Sales ACT by Group Brand", + "Standard Discounts ACT by Group Brand", + "Standard Discount Rate ACT", + "Rebate Rate ACT", + "Gross Sales ACT by Group", + "Logistics Discounts ACT by Group", + "Logistics Discount Rate ACT", + "COGS ACT", + "Volume LY", + "Invoice Sales ACT LY", + "Invoice Sales LY by Group", + "Volume LY Plan", + "Volume Growth Baseline", + "Volume LY by Group Category", + "Volume Target Key", + "Volume Target Cascade", + "Volume Baseline", + "Volume Planned", + "Volume Plan", + "List Price Reset", + "List Price Carry", + "List Price Plan", + "Standard Discount Rate Reset", + "Standard Discount Rate Carry", + "Standard Discount Rate", + "Rebate Rate Reset", + "Rebate Rate Carry", + "Rebate Rate", + "Logistics Discount Rate Reset", + "Logistics Discount Rate Carry", + "Logistics Discount Rate", + "FX Rate Reset", + "FX Rate Carry", + "FX Rate Plan", + "Gross Sales Plan", + "Standard Discounts Plan", + "Promo Discounts Plan", + "Logistics Discounts Plan", + "Promo Funding Plan", + "Standard Cost Plan", + "COGS Plan", + "Gross Sales", + "Standard Discounts", + "Promo Discounts", + "Logistics Discounts", + "Invoice Sales", + "Invoice Sales Plan", + "Rebates Plan", + "Invoice Sales by Group Year", + "Growth Bonus Rate", + "Growth Bonus Entitlement", + "Growth Bonus Booked Monthly", + "Growth Bonus Booked", + "Invoice Sales Plan by Group Year", + "Growth Bonus Remaining", + "Growth Bonus Plan", + "Growth Bonus Plan Unallocated", + "Trade Fees Plan", + "Marketing Spend Plan", + "Marketing Split Monthly", + "Marketing Plan EUR", + "Marketing Plan", + "OPEX Plan", + "Volume", + "Promo Funding", + "COGS", + "Rebates", + "Growth Bonus", + "Rebates Unallocated", + "Growth Bonus Unallocated", + "Trade Fees Pool", + "Marketing Pool", + "OPEX", + "FX Rate", + "Volume KG", "Handling KG", + "Invoice Sales Positive", + "Invoice Sales by Group Brand", + "Trade Fees Key", + "Trade Fees", + "Trade Fees Unallocated", + "Net Sales", + "Gross Margin", + "Invoice Sales by Customer Brand", + "Net Sales by Customer Brand", + "Gross Margin by Customer Brand", "Handling KG by Customer Brand", + "Logistics Pool", "Handling KG Positive", "Handling KG by Country", "Logistics Key", "Logistics Cost", "Logistics Unallocated", + "Sales Force Pool", + "Invoice Sales Positive by Customer Brand", + "Invoice Sales by Channel Country", + "Sales Force Key", + "Sales Force Cost", + "Sales Force Unallocated", "Contribution Margin II", + "Net Sales Positive", + "Net Sales by Brand Country", + "Marketing Key", + "Marketing Cost", + "Marketing Unallocated", "Contribution Margin III", + "Overheads", "Contribution Margin III by Country", + "Trade Fees Unallocated by Country", + "Rebates Unallocated by Country", + "Growth Bonus Unallocated by Country", "Unallocated by Country", "EBIT OUT", "EBIT EUR OUT", + "PL Gross Sales", + "PL Standard Discounts", + "PL Promo Discounts", + "PL Logistics Discounts", + "PL Rebates", + "PL Growth Bonus", + "PL Trade Fees", + "PL Promo Funding", + "PL COGS", "PL Logistics", + "PL Sales Force", + "PL Marketing", + "PL Overheads", + "PL Rebates Unallocated", + "PL Growth Bonus Unallocated", + "PL Trade Fees Unallocated", "PL Logistics Unallocated", + "PL Sales Force Unallocated", + "PL Marketing Unallocated", "PL OUT", "PL EUR OUT", + "Volume by Brand Channel Country", + "Volume for KPIs", + "Gross Sales Loaded by Country", + "CHECK Import Total", + "CHECK Marketing Split", + "CHECK Growth Bonus", + "OPEX by Country", "CHECK OPEX in EBIT", - "CHECK PL without FX Rate" + "CHECK Uncosted Volume", + "CHECK Uncosted Plan Volume", + "CHECK Unpriced Volume", + "CHECK Volume without FX Rate", + "CHECK Marketing without FX Rate", + "CHECK PL without FX Rate", + "CHECK EUR Rate" ] } diff --git a/systems/duckdb-tables/sql/m1.sql b/systems/duckdb-tables/sql/m1.sql index 5ffc564..5eb348a 100644 --- a/systems/duckdb-tables/sql/m1.sql +++ b/systems/duckdb-tables/sql/m1.sql @@ -1,152 +1,1509 @@ -- Generated by model/lib/sql/generate.mjs: the migration of test M1, duckdb dialect. Do not edit. --- It takes a database built from calculate.sql to the changed model. New or changed tables: 1. Statements: 19. +-- It takes a database built from calculate.sql to the changed model. New or changed tables: 1. Every one of the 167 calculated tables is built again. -- @schema: new input tables +-- @recalculate: every calculated table, built again +-- The dimension lookups: one flattened table per dimension. +CREATE OR REPLACE TABLE "flat Account" AS SELECT t0."Account" AS "Account", coalesce(t1."Account Group", 3) AS "Account Group" FROM "dim Account" t0 LEFT JOIN "dim Account Group" t1 ON t1."Account Group" = t0."Account Group"; +CREATE OR REPLACE TABLE "flat Account Group" AS SELECT t0."Account Group" AS "Account Group" FROM "dim Account Group" t0; +CREATE OR REPLACE TABLE "flat Brand" AS SELECT t0."Brand" AS "Brand", coalesce(t1."Brand Group", 1) AS "Brand Group", coalesce(t2."Brand Type", 2) AS "Brand Type" FROM "dim Brand" t0 LEFT JOIN "dim Brand Group" t1 ON t1."Brand Group" = t0."Brand Group" LEFT JOIN "dim Brand Type" t2 ON t2."Brand Type" = t0."Brand Type"; +CREATE OR REPLACE TABLE "flat Brand Group" AS SELECT t0."Brand Group" AS "Brand Group" FROM "dim Brand Group" t0; +CREATE OR REPLACE TABLE "flat Brand Type" AS SELECT t0."Brand Type" AS "Brand Type" FROM "dim Brand Type" t0; +CREATE OR REPLACE TABLE "flat Category" AS SELECT t0."Category" AS "Category", coalesce(t1."Division", 4) AS "Division" FROM "dim Category" t0 LEFT JOIN "dim Division" t1 ON t1."Division" = t0."Division"; +CREATE OR REPLACE TABLE "flat Channel" AS SELECT t0."Channel" AS "Channel" FROM "dim Channel" t0; +CREATE OR REPLACE TABLE "flat Cost Center" AS SELECT t0."Cost Center" AS "Cost Center", coalesce(t1."Function", 4) AS "Function", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Currency", 4) AS "Currency" FROM "dim Cost Center" t0 LEFT JOIN "dim Function" t1 ON t1."Function" = t0."Function" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t0."Channel" LEFT JOIN "dim Currency" t4 ON t4."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Country" AS SELECT t0."Country" AS "Country", coalesce(t1."Currency", 4) AS "Currency" FROM "dim Country" t0 LEFT JOIN "dim Currency" t1 ON t1."Currency" = t0."Currency"; +CREATE OR REPLACE TABLE "flat Currency" AS SELECT t0."Currency" AS "Currency" FROM "dim Currency" t0; +CREATE OR REPLACE TABLE "flat Customer" AS SELECT t0."Customer" AS "Customer", coalesce(t1."Customer Group", 1) AS "Customer Group", coalesce(t2."Region", 1) AS "Region", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Country", 1) AS "Country", coalesce(t5."Currency", 4) AS "Currency" FROM "dim Customer" t0 LEFT JOIN "dim Customer Group" t1 ON t1."Customer Group" = t0."Customer Group" LEFT JOIN "dim Region" t2 ON t2."Region" = t0."Region" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t1."Channel" LEFT JOIN "dim Country" t4 ON t4."Country" = t1."Country" LEFT JOIN "dim Currency" t5 ON t5."Currency" = t4."Currency"; +CREATE OR REPLACE TABLE "flat Customer Group" AS SELECT t0."Customer Group" AS "Customer Group", coalesce(t1."Channel", 4) AS "Channel", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Currency", 4) AS "Currency" FROM "dim Customer Group" t0 LEFT JOIN "dim Channel" t1 ON t1."Channel" = t0."Channel" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Currency" t3 ON t3."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Division" AS SELECT t0."Division" AS "Division" FROM "dim Division" t0; +CREATE OR REPLACE TABLE "flat Function" AS SELECT t0."Function" AS "Function" FROM "dim Function" t0; +CREATE OR REPLACE TABLE "flat Lifecycle Status" AS SELECT t0."Lifecycle Status" AS "Lifecycle Status" FROM "dim Lifecycle Status" t0; +CREATE OR REPLACE TABLE "flat Material" AS SELECT t0."Material" AS "Material", coalesce(t1."SKU", 1) AS "SKU", coalesce(t2."Product Line", 1) AS "Product Line", coalesce(t3."Pack Format", 5) AS "Pack Format", coalesce(t4."Size Band", 4) AS "Size Band", coalesce(t5."Price Tier", 2) AS "Price Tier", coalesce(t6."Temperature Zone", 4) AS "Temperature Zone", coalesce(t7."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t8."Plant", 1) AS "Plant", coalesce(t9."Subcategory", 1) AS "Subcategory", coalesce(t10."Brand", 1) AS "Brand", coalesce(t11."Supply Type", 2) AS "Supply Type", coalesce(t12."Category", 1) AS "Category", coalesce(t13."Brand Group", 1) AS "Brand Group", coalesce(t14."Brand Type", 2) AS "Brand Type", coalesce(t15."Division", 4) AS "Division" FROM "dim Material" t0 LEFT JOIN "dim SKU" t1 ON t1."SKU" = t0."SKU" LEFT JOIN "dim Product Line" t2 ON t2."Product Line" = t1."Product Line" LEFT JOIN "dim Pack Format" t3 ON t3."Pack Format" = t1."Pack Format" LEFT JOIN "dim Size Band" t4 ON t4."Size Band" = t1."Size Band" LEFT JOIN "dim Price Tier" t5 ON t5."Price Tier" = t1."Price Tier" LEFT JOIN "dim Temperature Zone" t6 ON t6."Temperature Zone" = t1."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t7 ON t7."Lifecycle Status" = t1."Lifecycle Status" LEFT JOIN "dim Plant" t8 ON t8."Plant" = t1."Plant" LEFT JOIN "dim Subcategory" t9 ON t9."Subcategory" = t2."Subcategory" LEFT JOIN "dim Brand" t10 ON t10."Brand" = t2."Brand" LEFT JOIN "dim Supply Type" t11 ON t11."Supply Type" = t8."Supply Type" LEFT JOIN "dim Category" t12 ON t12."Category" = t9."Category" LEFT JOIN "dim Brand Group" t13 ON t13."Brand Group" = t10."Brand Group" LEFT JOIN "dim Brand Type" t14 ON t14."Brand Type" = t10."Brand Type" LEFT JOIN "dim Division" t15 ON t15."Division" = t12."Division"; +CREATE OR REPLACE TABLE "flat PL Line" AS SELECT t0."PL Line" AS "PL Line" FROM "dim PL Line" t0; +CREATE OR REPLACE TABLE "flat Pack Format" AS SELECT t0."Pack Format" AS "Pack Format" FROM "dim Pack Format" t0; +CREATE OR REPLACE TABLE "flat Plant" AS SELECT t0."Plant" AS "Plant", coalesce(t1."Supply Type", 2) AS "Supply Type" FROM "dim Plant" t0 LEFT JOIN "dim Supply Type" t1 ON t1."Supply Type" = t0."Supply Type"; +CREATE OR REPLACE TABLE "flat Price Tier" AS SELECT t0."Price Tier" AS "Price Tier" FROM "dim Price Tier" t0; +CREATE OR REPLACE TABLE "flat Product Line" AS SELECT t0."Product Line" AS "Product Line", coalesce(t1."Subcategory", 1) AS "Subcategory", coalesce(t2."Brand", 1) AS "Brand", coalesce(t3."Category", 1) AS "Category", coalesce(t4."Brand Group", 1) AS "Brand Group", coalesce(t5."Brand Type", 2) AS "Brand Type", coalesce(t6."Division", 4) AS "Division" FROM "dim Product Line" t0 LEFT JOIN "dim Subcategory" t1 ON t1."Subcategory" = t0."Subcategory" LEFT JOIN "dim Brand" t2 ON t2."Brand" = t0."Brand" LEFT JOIN "dim Category" t3 ON t3."Category" = t1."Category" LEFT JOIN "dim Brand Group" t4 ON t4."Brand Group" = t2."Brand Group" LEFT JOIN "dim Brand Type" t5 ON t5."Brand Type" = t2."Brand Type" LEFT JOIN "dim Division" t6 ON t6."Division" = t3."Division"; +CREATE OR REPLACE TABLE "flat Region" AS SELECT t0."Region" AS "Region" FROM "dim Region" t0; +CREATE OR REPLACE TABLE "flat SKU" AS SELECT t0."SKU" AS "SKU", coalesce(t1."Product Line", 1) AS "Product Line", coalesce(t2."Pack Format", 5) AS "Pack Format", coalesce(t3."Size Band", 4) AS "Size Band", coalesce(t4."Price Tier", 2) AS "Price Tier", coalesce(t5."Temperature Zone", 4) AS "Temperature Zone", coalesce(t6."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t7."Plant", 1) AS "Plant", coalesce(t8."Subcategory", 1) AS "Subcategory", coalesce(t9."Brand", 1) AS "Brand", coalesce(t10."Supply Type", 2) AS "Supply Type", coalesce(t11."Category", 1) AS "Category", coalesce(t12."Brand Group", 1) AS "Brand Group", coalesce(t13."Brand Type", 2) AS "Brand Type", coalesce(t14."Division", 4) AS "Division" FROM "dim SKU" t0 LEFT JOIN "dim Product Line" t1 ON t1."Product Line" = t0."Product Line" LEFT JOIN "dim Pack Format" t2 ON t2."Pack Format" = t0."Pack Format" LEFT JOIN "dim Size Band" t3 ON t3."Size Band" = t0."Size Band" LEFT JOIN "dim Price Tier" t4 ON t4."Price Tier" = t0."Price Tier" LEFT JOIN "dim Temperature Zone" t5 ON t5."Temperature Zone" = t0."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t6 ON t6."Lifecycle Status" = t0."Lifecycle Status" LEFT JOIN "dim Plant" t7 ON t7."Plant" = t0."Plant" LEFT JOIN "dim Subcategory" t8 ON t8."Subcategory" = t1."Subcategory" LEFT JOIN "dim Brand" t9 ON t9."Brand" = t1."Brand" LEFT JOIN "dim Supply Type" t10 ON t10."Supply Type" = t7."Supply Type" LEFT JOIN "dim Category" t11 ON t11."Category" = t8."Category" LEFT JOIN "dim Brand Group" t12 ON t12."Brand Group" = t9."Brand Group" LEFT JOIN "dim Brand Type" t13 ON t13."Brand Type" = t9."Brand Type" LEFT JOIN "dim Division" t14 ON t14."Division" = t11."Division"; +CREATE OR REPLACE TABLE "flat Size Band" AS SELECT t0."Size Band" AS "Size Band" FROM "dim Size Band" t0; +CREATE OR REPLACE TABLE "flat Subcategory" AS SELECT t0."Subcategory" AS "Subcategory", coalesce(t1."Category", 1) AS "Category", coalesce(t2."Division", 4) AS "Division" FROM "dim Subcategory" t0 LEFT JOIN "dim Category" t1 ON t1."Category" = t0."Category" LEFT JOIN "dim Division" t2 ON t2."Division" = t1."Division"; +CREATE OR REPLACE TABLE "flat Supply Type" AS SELECT t0."Supply Type" AS "Supply Type" FROM "dim Supply Type" t0; +CREATE OR REPLACE TABLE "flat Temperature Zone" AS SELECT t0."Temperature Zone" AS "Temperature Zone" FROM "dim Temperature Zone" t0; + +-- @table "FC Actual" +-- FC Actual = "FC Horizon IN" * "FC Closed IN" +CREATE OR REPLACE TABLE "FC Actual" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "FC Plan" +-- FC Plan = if(not(hasValue("FC Closed IN")), "FC Horizon IN") +CREATE OR REPLACE TABLE "FC Plan" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FC Plan Months" +-- FC Plan Months = "FC Plan" +CREATE OR REPLACE TABLE "FC Plan Months" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "FC Plan" s GROUP BY s."Versions", s."Years") d +) WHERE v IS NOT NULL; + +-- @table "Volume ACT" +-- Volume ACT = "IMPORT Volume" +CREATE OR REPLACE TABLE "Volume ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Volume" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales ACT" +-- Gross Sales ACT = "IMPORT Gross Sales" +CREATE OR REPLACE TABLE "Gross Sales ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts ACT" +-- Standard Discounts ACT = "IMPORT Standard Discounts" +CREATE OR REPLACE TABLE "Standard Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Standard Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts ACT" +-- Promo Discounts ACT = "IMPORT Promo Discounts" +CREATE OR REPLACE TABLE "Promo Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts ACT" +-- Logistics Discounts ACT = "IMPORT Logistics Discounts" +CREATE OR REPLACE TABLE "Logistics Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Logistics Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Promo Funding ACT" +-- Promo Funding ACT = "IMPORT Promo Funding" +CREATE OR REPLACE TABLE "Promo Funding ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Funding" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales ACT" +-- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" +CREATE OR REPLACE TABLE "Invoice Sales ACT" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u +GROUP BY u."Customer", u."SKU", u."Years", u."Months"; + +-- @table "Invoice Sales ACT by Group" +-- Invoice Sales ACT by Group = "Invoice Sales ACT" +CREATE OR REPLACE TABLE "Invoice Sales ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Group Key ACT" +-- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") +CREATE OR REPLACE TABLE "Group Key ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Rebate Expense ACT" +-- Rebate Expense ACT = "IMPORT Rebates" + "IMPORT Rebate True-ups" +CREATE OR REPLACE TABLE "Rebate Expense ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebate True-ups" s) r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Rebates ACT" +-- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" +CREATE OR REPLACE TABLE "Rebates ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus ACT" +-- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" +CREATE OR REPLACE TABLE "Growth Bonus ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated ACT" +-- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" +CREATE OR REPLACE TABLE "Rebates Unallocated ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Growth Bonus Unallocated ACT" +-- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" +CREATE OR REPLACE TABLE "Growth Bonus Unallocated ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Gross Sales ACT by Group Brand" +-- Gross Sales ACT by Group Brand = "Gross Sales ACT" +CREATE OR REPLACE TABLE "Gross Sales ACT by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts ACT by Group Brand" +-- Standard Discounts ACT by Group Brand = "Standard Discounts ACT" +CREATE OR REPLACE TABLE "Standard Discounts ACT by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate ACT" +-- Standard Discount Rate ACT = if(gt("Gross Sales ACT by Group Brand", 0), "Standard Discounts ACT by Group Brand" / "Gross Sales ACT by Group Brand") +CREATE OR REPLACE TABLE "Standard Discount Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group Brand" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT by Group Brand" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Brand" = d."Brand" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate ACT" +-- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") +CREATE OR REPLACE TABLE "Rebate Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Gross Sales ACT by Group" +-- Gross Sales ACT by Group = "Gross Sales ACT" +CREATE OR REPLACE TABLE "Gross Sales ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts ACT by Group" +-- Logistics Discounts ACT by Group = "Logistics Discounts ACT" +CREATE OR REPLACE TABLE "Logistics Discounts ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Logistics Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate ACT" +-- Logistics Discount Rate ACT = if(gt("Gross Sales ACT by Group", 0), "Logistics Discounts ACT by Group" / "Gross Sales ACT by Group") +CREATE OR REPLACE TABLE "Logistics Discount Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "COGS ACT" +-- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" +CREATE OR REPLACE TABLE "COGS ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Volume LY" +-- Volume LY = delay("Volume ACT", 12) +CREATE OR REPLACE TABLE "Volume LY" AS +SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v +FROM "Volume ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; + +-- @table "Invoice Sales ACT LY" +-- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) +CREATE OR REPLACE TABLE "Invoice Sales ACT LY" AS +SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v +FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; + +-- @table "Invoice Sales LY by Group" +-- Invoice Sales LY by Group = "Invoice Sales ACT LY" +CREATE OR REPLACE TABLE "Invoice Sales LY by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Volume LY Plan" +-- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") +CREATE OR REPLACE TABLE "Volume LY Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Volume Growth Baseline" +-- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") +CREATE OR REPLACE TABLE "Volume Growth Baseline" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d + JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" +) WHERE v IS NOT NULL; + +-- @table "Volume LY by Group Category" +-- Volume LY by Group Category = "Volume LY" +CREATE OR REPLACE TABLE "Volume LY by Group Category" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Category" AS "Category", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", u1."Category" AS "Category", sum(s.v) AS v FROM "Volume LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", u0."Customer Group", u1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Target Key" +-- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") +CREATE OR REPLACE TABLE "Volume Target Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Target Cascade" +-- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" +CREATE OR REPLACE TABLE "Volume Target Cascade" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Baseline" +-- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") +CREATE OR REPLACE TABLE "Volume Baseline" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d + LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume Planned" +-- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") +CREATE OR REPLACE TABLE "Volume Planned" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d + LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume Plan" +-- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") +CREATE OR REPLACE TABLE "Volume Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "List Price Reset" +-- List Price Reset = if(eq("FC Closed IN", 1), "IMPORT List Price") +CREATE OR REPLACE TABLE "List Price Reset" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."SKU" AS "SKU", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT List Price" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "List Price Carry" +-- List Price Carry = cumsum(0, 0, "List Price Reset") +CREATE OR REPLACE TABLE "List Price Carry" AS +WITH s AS (SELECT x."SKU" AS "SKU", x."Country" AS "Country", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "List Price Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "SKU", "Country", "Versions", min(p) AS p0 FROM s GROUP BY "SKU", "Country", "Versions"), +g AS (SELECT f."SKU" AS "SKU", f."Country" AS "Country", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."SKU" AS "SKU", g."Country" AS "Country", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."SKU" = g."SKU" AND s."Country" = g."Country" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "List Price Plan" +-- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") +CREATE OR REPLACE TABLE "List Price Plan" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v + FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d + JOIN "flat SKU" f_0 ON f_0."SKU" = d."SKU" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s.v AS v FROM "Price Increase IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_0."Brand" +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate Reset" +-- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") +CREATE OR REPLACE TABLE "Standard Discount Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate Carry" +-- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") +CREATE OR REPLACE TABLE "Standard Discount Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Brand" AS "Brand", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g."Brand" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Standard Discount Rate" +-- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") +CREATE OR REPLACE TABLE "Standard Discount Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate Reset" +-- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") +CREATE OR REPLACE TABLE "Rebate Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate Carry" +-- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") +CREATE OR REPLACE TABLE "Rebate Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Rebate Rate" +-- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") +CREATE OR REPLACE TABLE "Rebate Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate Reset" +-- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") +CREATE OR REPLACE TABLE "Logistics Discount Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate Carry" +-- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") +CREATE OR REPLACE TABLE "Logistics Discount Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Logistics Discount Rate" +-- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") +CREATE OR REPLACE TABLE "Logistics Discount Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FX Rate Reset" +-- FX Rate Reset = if(eq("FC Closed IN", 1), "IMPORT FX Rate") +CREATE OR REPLACE TABLE "FX Rate Reset" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "FX Rate Carry" +-- FX Rate Carry = cumsum(0, 0, "FX Rate Reset") +CREATE OR REPLACE TABLE "FX Rate Carry" AS +WITH s AS (SELECT x."Currency" AS "Currency", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "FX Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Currency", "Versions", min(p) AS p0 FROM s GROUP BY "Currency", "Versions"), +g AS (SELECT f."Currency" AS "Currency", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Currency" AS "Currency", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Currency" = g."Currency" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "FX Rate Plan" +-- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) +CREATE OR REPLACE TABLE "FX Rate Plan" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Gross Sales Plan" +-- Gross Sales Plan = "Volume Plan" * "List Price Plan" +CREATE OR REPLACE TABLE "Gross Sales Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts Plan" +-- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" +CREATE OR REPLACE TABLE "Standard Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts Plan" +-- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" +CREATE OR REPLACE TABLE "Promo Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts Plan" +-- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" +CREATE OR REPLACE TABLE "Logistics Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Promo Funding Plan" +-- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") +CREATE OR REPLACE TABLE "Promo Funding Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Standard Cost Plan" +-- Standard Cost Plan = if(hasValue("Standard Cost IN"), "Standard Cost IN", "IMPORT Standard Cost") +CREATE OR REPLACE TABLE "Standard Cost Plan" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."SKU" AS "SKU", m_1."Versions" AS "Versions", p0."Years" AS "Years", p0.v AS p0_v FROM (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5]) AS "Versions") m_1) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "COGS Plan" +-- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" +CREATE OR REPLACE TABLE "COGS Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales" +-- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") +CREATE OR REPLACE TABLE "Gross Sales" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts" +-- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") +CREATE OR REPLACE TABLE "Standard Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts" +-- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") +CREATE OR REPLACE TABLE "Promo Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts" +-- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") +CREATE OR REPLACE TABLE "Logistics Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales" +-- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" +CREATE OR REPLACE TABLE "Invoice Sales" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Invoice Sales Plan" +-- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") +CREATE OR REPLACE TABLE "Invoice Sales Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Plan" +-- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" +CREATE OR REPLACE TABLE "Rebates Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Group Year" +-- Invoice Sales by Group Year = "Invoice Sales" +CREATE OR REPLACE TABLE "Invoice Sales by Group Year" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Rate" +-- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) +CREATE OR REPLACE TABLE "Growth Bonus Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Entitlement" +-- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) +CREATE OR REPLACE TABLE "Growth Bonus Entitlement" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Booked Monthly" +-- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") +CREATE OR REPLACE TABLE "Growth Bonus Booked Monthly" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Booked" +-- Growth Bonus Booked = "Growth Bonus Booked Monthly" +CREATE OR REPLACE TABLE "Growth Bonus Booked" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales Plan by Group Year" +-- Invoice Sales Plan by Group Year = "Invoice Sales Plan" +CREATE OR REPLACE TABLE "Invoice Sales Plan by Group Year" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Remaining" +-- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) +CREATE OR REPLACE TABLE "Growth Bonus Remaining" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Plan" +-- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) +CREATE OR REPLACE TABLE "Growth Bonus Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Plan Unallocated" +-- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) +CREATE OR REPLACE TABLE "Growth Bonus Plan Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Plan" +-- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") +CREATE OR REPLACE TABLE "Trade Fees Plan" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Spend Plan" +-- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") +CREATE OR REPLACE TABLE "Marketing Spend Plan" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Split Monthly" +-- Marketing Split Monthly = "Marketing Split IN" +CREATE OR REPLACE TABLE "Marketing Split Monthly" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.p0_v AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", m_4."Months" AS "Months", p0.v AS p0_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Marketing Split IN" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) AS "Months") m_4) d +) WHERE v IS NOT NULL; + +-- @table "Marketing Plan EUR" +-- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" +CREATE OR REPLACE TABLE "Marketing Plan EUR" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Plan" +-- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" +CREATE OR REPLACE TABLE "Marketing Plan" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d +) WHERE v IS NOT NULL; + +-- @table "OPEX Plan" +-- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") +CREATE OR REPLACE TABLE "OPEX Plan" AS +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Volume" +-- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") +CREATE OR REPLACE TABLE "Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Promo Funding" +-- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") +CREATE OR REPLACE TABLE "Promo Funding" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "COGS" +-- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") +CREATE OR REPLACE TABLE "COGS" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebates" +-- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") +CREATE OR REPLACE TABLE "Rebates" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus" +-- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") +CREATE OR REPLACE TABLE "Growth Bonus" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated" +-- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") +CREATE OR REPLACE TABLE "Rebates Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Unallocated" +-- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") +CREATE OR REPLACE TABLE "Growth Bonus Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Pool" +-- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") +CREATE OR REPLACE TABLE "Trade Fees Pool" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Marketing Pool" +-- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") +CREATE OR REPLACE TABLE "Marketing Pool" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "OPEX" +-- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") +CREATE OR REPLACE TABLE "OPEX" AS +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FX Rate" +-- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") +CREATE OR REPLACE TABLE "FX Rate" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume KG" +-- Volume KG = "Volume" * "IMPORT Unit Weight" +CREATE OR REPLACE TABLE "Volume KG" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d +) WHERE v IS NOT NULL; + -- @table "Handling KG" -- Handling KG = "Volume KG" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS +CREATE OR REPLACE TABLE "Handling KG" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) d ) WHERE v IS NOT NULL; --- @table "Handling KG by Customer Brand" (reads a changed table) +-- @table "Invoice Sales Positive" +-- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") +CREATE OR REPLACE TABLE "Invoice Sales Positive" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Group Brand" +-- Invoice Sales by Group Brand = "Invoice Sales Positive" +CREATE OR REPLACE TABLE "Invoice Sales by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Key" +-- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") +CREATE OR REPLACE TABLE "Trade Fees Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees" +-- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" +CREATE OR REPLACE TABLE "Trade Fees" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Unallocated" +-- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" +CREATE OR REPLACE TABLE "Trade Fees Unallocated" AS +SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u +GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; + +-- @table "Net Sales" +-- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" +CREATE OR REPLACE TABLE "Net Sales" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Gross Margin" +-- Gross Margin = "Net Sales" - "COGS" +CREATE OR REPLACE TABLE "Gross Margin" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Invoice Sales by Customer Brand" +-- Invoice Sales by Customer Brand = "Invoice Sales" +CREATE OR REPLACE TABLE "Invoice Sales by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Net Sales by Customer Brand" +-- Net Sales by Customer Brand = "Net Sales" +CREATE OR REPLACE TABLE "Net Sales by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Gross Margin by Customer Brand" +-- Gross Margin by Customer Brand = "Gross Margin" +CREATE OR REPLACE TABLE "Gross Margin by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Handling KG by Customer Brand" -- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS +CREATE OR REPLACE TABLE "Handling KG by Customer Brand" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d ) WHERE v IS NOT NULL; --- @table "Handling KG Positive" (reads a changed table) +-- @table "Logistics Pool" +-- Logistics Pool = sum("OPEX", Function>Logistics) +CREATE OR REPLACE TABLE "Logistics Pool" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Handling KG Positive" -- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS +CREATE OR REPLACE TABLE "Handling KG Positive" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d ) WHERE v IS NOT NULL; --- @table "Handling KG by Country" (reads a changed table) +-- @table "Handling KG by Country" -- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS +CREATE OR REPLACE TABLE "Handling KG by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d ) WHERE v IS NOT NULL; --- @table "Logistics Key" (reads a changed table) +-- @table "Logistics Key" -- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS +CREATE OR REPLACE TABLE "Logistics Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d ) WHERE v IS NOT NULL; --- @table "Logistics Cost" (reads a changed table) +-- @table "Logistics Cost" -- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS +CREATE OR REPLACE TABLE "Logistics Cost" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d ) WHERE v IS NOT NULL; --- @table "Logistics Unallocated" (reads a changed table) +-- @table "Logistics Unallocated" -- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS +CREATE OR REPLACE TABLE "Logistics Unallocated" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "Contribution Margin II" (reads a changed table) +-- @table "Sales Force Pool" +-- Sales Force Pool = sum("OPEX", Function>Sales) +CREATE OR REPLACE TABLE "Sales Force Pool" AS +SELECT * FROM ( + SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales Positive by Customer Brand" +-- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") +CREATE OR REPLACE TABLE "Invoice Sales Positive by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Channel Country" +-- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" +CREATE OR REPLACE TABLE "Invoice Sales by Channel Country" AS +SELECT * FROM ( + SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Key" +-- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") +CREATE OR REPLACE TABLE "Sales Force Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Cost" +-- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" +CREATE OR REPLACE TABLE "Sales Force Cost" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Unallocated" +-- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" +CREATE OR REPLACE TABLE "Sales Force Unallocated" AS +SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u +GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; + +-- @table "Contribution Margin II" -- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS +CREATE OR REPLACE TABLE "Contribution Margin II" AS SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; --- @table "Contribution Margin III" (reads a changed table) +-- @table "Net Sales Positive" +-- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") +CREATE OR REPLACE TABLE "Net Sales Positive" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d +) WHERE v IS NOT NULL; + +-- @table "Net Sales by Brand Country" +-- Net Sales by Brand Country = "Net Sales Positive" +CREATE OR REPLACE TABLE "Net Sales by Brand Country" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Key" +-- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") +CREATE OR REPLACE TABLE "Marketing Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Cost" +-- Marketing Cost = "Marketing Pool" * "Marketing Key" +CREATE OR REPLACE TABLE "Marketing Cost" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Unallocated" +-- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" +CREATE OR REPLACE TABLE "Marketing Unallocated" AS +SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u +GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; + +-- @table "Contribution Margin III" -- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS +CREATE OR REPLACE TABLE "Contribution Margin III" AS SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; --- @table "Contribution Margin III by Country" (reads a changed table) +-- @table "Overheads" +-- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) +CREATE OR REPLACE TABLE "Overheads" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Contribution Margin III by Country" -- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS +CREATE OR REPLACE TABLE "Contribution Margin III by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d ) WHERE v IS NOT NULL; --- @table "Unallocated by Country" (reads a changed table) +-- @table "Trade Fees Unallocated by Country" +-- Trade Fees Unallocated by Country = "Trade Fees Unallocated" +CREATE OR REPLACE TABLE "Trade Fees Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated by Country" +-- Rebates Unallocated by Country = "Rebates Unallocated" +CREATE OR REPLACE TABLE "Rebates Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Unallocated by Country" +-- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" +CREATE OR REPLACE TABLE "Growth Bonus Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Unallocated by Country" -- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS +CREATE OR REPLACE TABLE "Unallocated by Country" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "EBIT OUT" (reads a changed table) +-- @table "EBIT OUT" -- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS +CREATE OR REPLACE TABLE "EBIT OUT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "EBIT EUR OUT" (reads a changed table) +-- @table "EBIT EUR OUT" -- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS +CREATE OR REPLACE TABLE "EBIT EUR OUT" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d ) WHERE v IS NOT NULL; --- @table "PL Logistics" (reads a changed table) +-- @table "PL Gross Sales" +-- PL Gross Sales = "Gross Sales" +CREATE OR REPLACE TABLE "PL Gross Sales" AS +SELECT * FROM ( + SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Standard Discounts" +-- PL Standard Discounts = -1 * "Standard Discounts" +CREATE OR REPLACE TABLE "PL Standard Discounts" AS +SELECT * FROM ( + SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Promo Discounts" +-- PL Promo Discounts = -1 * "Promo Discounts" +CREATE OR REPLACE TABLE "PL Promo Discounts" AS +SELECT * FROM ( + SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics Discounts" +-- PL Logistics Discounts = -1 * "Logistics Discounts" +CREATE OR REPLACE TABLE "PL Logistics Discounts" AS +SELECT * FROM ( + SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Rebates" +-- PL Rebates = -1 * "Rebates" +CREATE OR REPLACE TABLE "PL Rebates" AS +SELECT * FROM ( + SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Growth Bonus" +-- PL Growth Bonus = -1 * "Growth Bonus" +CREATE OR REPLACE TABLE "PL Growth Bonus" AS +SELECT * FROM ( + SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Trade Fees" +-- PL Trade Fees = -1 * "Trade Fees" +CREATE OR REPLACE TABLE "PL Trade Fees" AS +SELECT * FROM ( + SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Promo Funding" +-- PL Promo Funding = -1 * "Promo Funding" +CREATE OR REPLACE TABLE "PL Promo Funding" AS +SELECT * FROM ( + SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL COGS" +-- PL COGS = -1 * "COGS" +CREATE OR REPLACE TABLE "PL COGS" AS +SELECT * FROM ( + SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics" -- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS +CREATE OR REPLACE TABLE "PL Logistics" AS SELECT * FROM ( SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d ) WHERE v IS NOT NULL; --- @table "PL Logistics Unallocated" (reads a changed table) +-- @table "PL Sales Force" +-- PL Sales Force = -1 * "Sales Force Cost" +CREATE OR REPLACE TABLE "PL Sales Force" AS +SELECT * FROM ( + SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Marketing" +-- PL Marketing = -1 * "Marketing Cost" +CREATE OR REPLACE TABLE "PL Marketing" AS +SELECT * FROM ( + SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Overheads" +-- PL Overheads = -1 * "Overheads" +CREATE OR REPLACE TABLE "PL Overheads" AS +SELECT * FROM ( + SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d +) WHERE v IS NOT NULL; + +-- @table "PL Rebates Unallocated" +-- PL Rebates Unallocated = -1 * "Rebates Unallocated" +CREATE OR REPLACE TABLE "PL Rebates Unallocated" AS +SELECT * FROM ( + SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Growth Bonus Unallocated" +-- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" +CREATE OR REPLACE TABLE "PL Growth Bonus Unallocated" AS +SELECT * FROM ( + SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Trade Fees Unallocated" +-- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" +CREATE OR REPLACE TABLE "PL Trade Fees Unallocated" AS +SELECT * FROM ( + SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics Unallocated" -- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS +CREATE OR REPLACE TABLE "PL Logistics Unallocated" AS SELECT * FROM ( SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d ) WHERE v IS NOT NULL; --- @table "PL OUT" (reads a changed table) +-- @table "PL Sales Force Unallocated" +-- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" +CREATE OR REPLACE TABLE "PL Sales Force Unallocated" AS +SELECT * FROM ( + SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d +) WHERE v IS NOT NULL; + +-- @table "PL Marketing Unallocated" +-- PL Marketing Unallocated = -1 * "Marketing Unallocated" +CREATE OR REPLACE TABLE "PL Marketing Unallocated" AS +SELECT * FROM ( + SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d +) WHERE v IS NOT NULL; + +-- @table "PL OUT" -- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS +CREATE OR REPLACE TABLE "PL OUT" AS SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; --- @table "PL EUR OUT" (reads a changed table) +-- @table "PL EUR OUT" -- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS +CREATE OR REPLACE TABLE "PL EUR OUT" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d ) WHERE v IS NOT NULL; --- @table "CHECK OPEX in EBIT" (reads a changed table) +-- @table "Volume by Brand Channel Country" +-- Volume by Brand Channel Country = "Volume" +CREATE OR REPLACE TABLE "Volume by Brand Channel Country" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Volume for KPIs" +-- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") +CREATE OR REPLACE TABLE "Volume for KPIs" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales Loaded by Country" +-- Gross Sales Loaded by Country = "IMPORT Gross Sales" +CREATE OR REPLACE TABLE "Gross Sales Loaded by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "CHECK Import Total" +-- CHECK Import Total = "IMPORT Control Total" - "Gross Sales Loaded by Country" +CREATE OR REPLACE TABLE "CHECK Import Total" AS +SELECT u."Country" AS "Country", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Country", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Control Total" s) r0 UNION ALL SELECT "Country", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Loaded by Country" s) r1) u +GROUP BY u."Country", u."Years", u."Months"; + +-- @table "CHECK Marketing Split" +-- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" +CREATE OR REPLACE TABLE "CHECK Marketing Split" AS +SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u +GROUP BY u."Brand", u."Versions", u."Years", u."Months"; + +-- @table "CHECK Growth Bonus" +-- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") +CREATE OR REPLACE TABLE "CHECK Growth Bonus" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "OPEX by Country" +-- OPEX by Country = "OPEX" +CREATE OR REPLACE TABLE "OPEX by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "CHECK OPEX in EBIT" -- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS +CREATE OR REPLACE TABLE "CHECK OPEX in EBIT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "CHECK PL without FX Rate" (reads a changed table) +-- @table "CHECK Uncosted Volume" +-- CHECK Uncosted Volume = if(not(hasValue("IMPORT Standard Cost")), "Volume ACT") +CREATE OR REPLACE TABLE "CHECK Uncosted Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) r0 ON r0."SKU" = d."SKU" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "CHECK Uncosted Plan Volume" +-- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") +CREATE OR REPLACE TABLE "CHECK Uncosted Plan Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "CHECK Unpriced Volume" +-- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") +CREATE OR REPLACE TABLE "CHECK Unpriced Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" +) WHERE v IS NOT NULL; + +-- @table "CHECK Volume without FX Rate" +-- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") +CREATE OR REPLACE TABLE "CHECK Volume without FX Rate" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" +) WHERE v IS NOT NULL; + +-- @table "CHECK Marketing without FX Rate" +-- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") +CREATE OR REPLACE TABLE "CHECK Marketing without FX Rate" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d + JOIN "flat Country" f_1 ON f_1."Country" = d."Country" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" +) WHERE v IS NOT NULL; + +-- @table "CHECK PL without FX Rate" -- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS +CREATE OR REPLACE TABLE "CHECK PL without FX Rate" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d JOIN "flat Country" f_3 ON f_3."Country" = d."Country" LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" ) WHERE v IS NOT NULL; + +-- @table "CHECK EUR Rate" +-- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) +CREATE OR REPLACE TABLE "CHECK EUR Rate" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/m4.json b/systems/duckdb-tables/sql/m4.json index 5adaf43..6bcf776 100644 --- a/systems/duckdb-tables/sql/m4.json +++ b/systems/duckdb-tables/sql/m4.json @@ -45,6 +45,128 @@ "CHECK OPEX in EBIT" ], "tables": [ + "FC Actual", + "FC Plan", + "FC Plan Months", + "Volume ACT", + "Gross Sales ACT", + "Standard Discounts ACT", + "Promo Discounts ACT", + "Logistics Discounts ACT", + "Promo Funding ACT", + "Invoice Sales ACT", + "Invoice Sales ACT by Group", + "Group Key ACT", + "Rebate Expense ACT", + "Rebates ACT", + "Growth Bonus ACT", + "Rebates Unallocated ACT", + "Growth Bonus Unallocated ACT", + "Gross Sales ACT by Group Brand", + "Standard Discounts ACT by Group Brand", + "Standard Discount Rate ACT", + "Rebate Rate ACT", + "Gross Sales ACT by Group", + "Logistics Discounts ACT by Group", + "Logistics Discount Rate ACT", + "COGS ACT", + "Volume LY", + "Invoice Sales ACT LY", + "Invoice Sales LY by Group", + "Volume LY Plan", + "Volume Growth Baseline", + "Volume LY by Group Category", + "Volume Target Key", + "Volume Target Cascade", + "Volume Baseline", + "Volume Planned", + "Volume Plan", + "List Price Reset", + "List Price Carry", + "List Price Plan", + "Standard Discount Rate Reset", + "Standard Discount Rate Carry", + "Standard Discount Rate", + "Rebate Rate Reset", + "Rebate Rate Carry", + "Rebate Rate", + "Logistics Discount Rate Reset", + "Logistics Discount Rate Carry", + "Logistics Discount Rate", + "FX Rate Reset", + "FX Rate Carry", + "FX Rate Plan", + "Gross Sales Plan", + "Standard Discounts Plan", + "Promo Discounts Plan", + "Logistics Discounts Plan", + "Promo Funding Plan", + "Standard Cost Plan", + "COGS Plan", + "Gross Sales", + "Standard Discounts", + "Promo Discounts", + "Logistics Discounts", + "Invoice Sales", + "Invoice Sales Plan", + "Rebates Plan", + "Invoice Sales by Group Year", + "Growth Bonus Rate", + "Growth Bonus Entitlement", + "Growth Bonus Booked Monthly", + "Growth Bonus Booked", + "Invoice Sales Plan by Group Year", + "Growth Bonus Remaining", + "Growth Bonus Plan", + "Growth Bonus Plan Unallocated", + "Trade Fees Plan", + "Marketing Spend Plan", + "Marketing Split Monthly", + "Marketing Plan EUR", + "Marketing Plan", + "OPEX Plan", + "Volume", + "Promo Funding", + "COGS", + "Rebates", + "Growth Bonus", + "Rebates Unallocated", + "Growth Bonus Unallocated", + "Trade Fees Pool", + "Marketing Pool", + "OPEX", + "FX Rate", + "Volume KG", + "Handling KG", + "Invoice Sales Positive", + "Invoice Sales by Group Brand", + "Trade Fees Key", + "Trade Fees", + "Trade Fees Unallocated", + "Net Sales", + "Gross Margin", + "Invoice Sales by Customer Brand", + "Net Sales by Customer Brand", + "Gross Margin by Customer Brand", + "Handling KG by Customer Brand", + "Logistics Pool", + "Handling KG Positive", + "Handling KG by Country", + "Logistics Key", + "Logistics Cost", + "Logistics Unallocated", + "Sales Force Pool", + "Invoice Sales Positive by Customer Brand", + "Invoice Sales by Channel Country", + "Sales Force Key", + "Sales Force Cost", + "Sales Force Unallocated", + "Contribution Margin II", + "Net Sales Positive", + "Net Sales by Brand Country", + "Marketing Key", + "Marketing Cost", + "Marketing Unallocated", "Marketing Staff Pool", "Net Sales Positive by Country", "Marketing Staff Key", @@ -53,15 +175,49 @@ "Marketing Staff Unallocated", "Overheads", "Contribution Margin III by Country", + "Trade Fees Unallocated by Country", + "Rebates Unallocated by Country", + "Growth Bonus Unallocated by Country", "Unallocated by Country", "EBIT OUT", "EBIT EUR OUT", + "PL Gross Sales", + "PL Standard Discounts", + "PL Promo Discounts", + "PL Logistics Discounts", + "PL Rebates", + "PL Growth Bonus", + "PL Trade Fees", + "PL Promo Funding", + "PL COGS", + "PL Logistics", + "PL Sales Force", + "PL Marketing", "PL Overheads", + "PL Rebates Unallocated", + "PL Growth Bonus Unallocated", + "PL Trade Fees Unallocated", + "PL Logistics Unallocated", + "PL Sales Force Unallocated", + "PL Marketing Unallocated", "PL Marketing Staff", "PL Marketing Staff Unallocated", "PL OUT", "PL EUR OUT", + "Volume by Brand Channel Country", + "Volume for KPIs", + "Gross Sales Loaded by Country", + "CHECK Import Total", + "CHECK Marketing Split", + "CHECK Growth Bonus", + "OPEX by Country", "CHECK OPEX in EBIT", - "CHECK PL without FX Rate" + "CHECK Uncosted Volume", + "CHECK Uncosted Plan Volume", + "CHECK Unpriced Volume", + "CHECK Volume without FX Rate", + "CHECK Marketing without FX Rate", + "CHECK PL without FX Rate", + "CHECK EUR Rate" ] } diff --git a/systems/duckdb-tables/sql/m4.sql b/systems/duckdb-tables/sql/m4.sql index 4ffb143..dedb677 100644 --- a/systems/duckdb-tables/sql/m4.sql +++ b/systems/duckdb-tables/sql/m4.sql @@ -1,12 +1,1147 @@ -- Generated by model/lib/sql/generate.mjs: the migration of test M4, duckdb dialect. Do not edit. --- It takes a database built from calculate.sql to the changed model. New or changed tables: 12. Statements: 18. +-- It takes a database built from calculate.sql to the changed model. New or changed tables: 12. Every one of the 174 calculated tables is built again. -- @schema: new input tables +-- @recalculate: every calculated table, built again +-- The dimension lookups: one flattened table per dimension. +CREATE OR REPLACE TABLE "flat Account" AS SELECT t0."Account" AS "Account", coalesce(t1."Account Group", 3) AS "Account Group" FROM "dim Account" t0 LEFT JOIN "dim Account Group" t1 ON t1."Account Group" = t0."Account Group"; +CREATE OR REPLACE TABLE "flat Account Group" AS SELECT t0."Account Group" AS "Account Group" FROM "dim Account Group" t0; +CREATE OR REPLACE TABLE "flat Brand" AS SELECT t0."Brand" AS "Brand", coalesce(t1."Brand Group", 1) AS "Brand Group", coalesce(t2."Brand Type", 2) AS "Brand Type" FROM "dim Brand" t0 LEFT JOIN "dim Brand Group" t1 ON t1."Brand Group" = t0."Brand Group" LEFT JOIN "dim Brand Type" t2 ON t2."Brand Type" = t0."Brand Type"; +CREATE OR REPLACE TABLE "flat Brand Group" AS SELECT t0."Brand Group" AS "Brand Group" FROM "dim Brand Group" t0; +CREATE OR REPLACE TABLE "flat Brand Type" AS SELECT t0."Brand Type" AS "Brand Type" FROM "dim Brand Type" t0; +CREATE OR REPLACE TABLE "flat Category" AS SELECT t0."Category" AS "Category", coalesce(t1."Division", 4) AS "Division" FROM "dim Category" t0 LEFT JOIN "dim Division" t1 ON t1."Division" = t0."Division"; +CREATE OR REPLACE TABLE "flat Channel" AS SELECT t0."Channel" AS "Channel" FROM "dim Channel" t0; +CREATE OR REPLACE TABLE "flat Cost Center" AS SELECT t0."Cost Center" AS "Cost Center", coalesce(t1."Function", 4) AS "Function", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Currency", 4) AS "Currency" FROM "dim Cost Center" t0 LEFT JOIN "dim Function" t1 ON t1."Function" = t0."Function" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t0."Channel" LEFT JOIN "dim Currency" t4 ON t4."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Country" AS SELECT t0."Country" AS "Country", coalesce(t1."Currency", 4) AS "Currency" FROM "dim Country" t0 LEFT JOIN "dim Currency" t1 ON t1."Currency" = t0."Currency"; +CREATE OR REPLACE TABLE "flat Currency" AS SELECT t0."Currency" AS "Currency" FROM "dim Currency" t0; +CREATE OR REPLACE TABLE "flat Customer" AS SELECT t0."Customer" AS "Customer", coalesce(t1."Customer Group", 1) AS "Customer Group", coalesce(t2."Region", 1) AS "Region", coalesce(t3."Channel", 4) AS "Channel", coalesce(t4."Country", 1) AS "Country", coalesce(t5."Currency", 4) AS "Currency" FROM "dim Customer" t0 LEFT JOIN "dim Customer Group" t1 ON t1."Customer Group" = t0."Customer Group" LEFT JOIN "dim Region" t2 ON t2."Region" = t0."Region" LEFT JOIN "dim Channel" t3 ON t3."Channel" = t1."Channel" LEFT JOIN "dim Country" t4 ON t4."Country" = t1."Country" LEFT JOIN "dim Currency" t5 ON t5."Currency" = t4."Currency"; +CREATE OR REPLACE TABLE "flat Customer Group" AS SELECT t0."Customer Group" AS "Customer Group", coalesce(t1."Channel", 4) AS "Channel", coalesce(t2."Country", 1) AS "Country", coalesce(t3."Currency", 4) AS "Currency" FROM "dim Customer Group" t0 LEFT JOIN "dim Channel" t1 ON t1."Channel" = t0."Channel" LEFT JOIN "dim Country" t2 ON t2."Country" = t0."Country" LEFT JOIN "dim Currency" t3 ON t3."Currency" = t2."Currency"; +CREATE OR REPLACE TABLE "flat Division" AS SELECT t0."Division" AS "Division" FROM "dim Division" t0; +CREATE OR REPLACE TABLE "flat Function" AS SELECT t0."Function" AS "Function" FROM "dim Function" t0; +CREATE OR REPLACE TABLE "flat Lifecycle Status" AS SELECT t0."Lifecycle Status" AS "Lifecycle Status" FROM "dim Lifecycle Status" t0; +CREATE OR REPLACE TABLE "flat Material" AS SELECT t0."Material" AS "Material", coalesce(t1."SKU", 1) AS "SKU", coalesce(t2."Product Line", 1) AS "Product Line", coalesce(t3."Pack Format", 5) AS "Pack Format", coalesce(t4."Size Band", 4) AS "Size Band", coalesce(t5."Price Tier", 2) AS "Price Tier", coalesce(t6."Temperature Zone", 4) AS "Temperature Zone", coalesce(t7."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t8."Plant", 1) AS "Plant", coalesce(t9."Subcategory", 1) AS "Subcategory", coalesce(t10."Brand", 1) AS "Brand", coalesce(t11."Supply Type", 2) AS "Supply Type", coalesce(t12."Category", 1) AS "Category", coalesce(t13."Brand Group", 1) AS "Brand Group", coalesce(t14."Brand Type", 2) AS "Brand Type", coalesce(t15."Division", 4) AS "Division" FROM "dim Material" t0 LEFT JOIN "dim SKU" t1 ON t1."SKU" = t0."SKU" LEFT JOIN "dim Product Line" t2 ON t2."Product Line" = t1."Product Line" LEFT JOIN "dim Pack Format" t3 ON t3."Pack Format" = t1."Pack Format" LEFT JOIN "dim Size Band" t4 ON t4."Size Band" = t1."Size Band" LEFT JOIN "dim Price Tier" t5 ON t5."Price Tier" = t1."Price Tier" LEFT JOIN "dim Temperature Zone" t6 ON t6."Temperature Zone" = t1."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t7 ON t7."Lifecycle Status" = t1."Lifecycle Status" LEFT JOIN "dim Plant" t8 ON t8."Plant" = t1."Plant" LEFT JOIN "dim Subcategory" t9 ON t9."Subcategory" = t2."Subcategory" LEFT JOIN "dim Brand" t10 ON t10."Brand" = t2."Brand" LEFT JOIN "dim Supply Type" t11 ON t11."Supply Type" = t8."Supply Type" LEFT JOIN "dim Category" t12 ON t12."Category" = t9."Category" LEFT JOIN "dim Brand Group" t13 ON t13."Brand Group" = t10."Brand Group" LEFT JOIN "dim Brand Type" t14 ON t14."Brand Type" = t10."Brand Type" LEFT JOIN "dim Division" t15 ON t15."Division" = t12."Division"; +CREATE OR REPLACE TABLE "flat PL Line" AS SELECT t0."PL Line" AS "PL Line" FROM "dim PL Line" t0; +CREATE OR REPLACE TABLE "flat Pack Format" AS SELECT t0."Pack Format" AS "Pack Format" FROM "dim Pack Format" t0; +CREATE OR REPLACE TABLE "flat Plant" AS SELECT t0."Plant" AS "Plant", coalesce(t1."Supply Type", 2) AS "Supply Type" FROM "dim Plant" t0 LEFT JOIN "dim Supply Type" t1 ON t1."Supply Type" = t0."Supply Type"; +CREATE OR REPLACE TABLE "flat Price Tier" AS SELECT t0."Price Tier" AS "Price Tier" FROM "dim Price Tier" t0; +CREATE OR REPLACE TABLE "flat Product Line" AS SELECT t0."Product Line" AS "Product Line", coalesce(t1."Subcategory", 1) AS "Subcategory", coalesce(t2."Brand", 1) AS "Brand", coalesce(t3."Category", 1) AS "Category", coalesce(t4."Brand Group", 1) AS "Brand Group", coalesce(t5."Brand Type", 2) AS "Brand Type", coalesce(t6."Division", 4) AS "Division" FROM "dim Product Line" t0 LEFT JOIN "dim Subcategory" t1 ON t1."Subcategory" = t0."Subcategory" LEFT JOIN "dim Brand" t2 ON t2."Brand" = t0."Brand" LEFT JOIN "dim Category" t3 ON t3."Category" = t1."Category" LEFT JOIN "dim Brand Group" t4 ON t4."Brand Group" = t2."Brand Group" LEFT JOIN "dim Brand Type" t5 ON t5."Brand Type" = t2."Brand Type" LEFT JOIN "dim Division" t6 ON t6."Division" = t3."Division"; +CREATE OR REPLACE TABLE "flat Region" AS SELECT t0."Region" AS "Region" FROM "dim Region" t0; +CREATE OR REPLACE TABLE "flat SKU" AS SELECT t0."SKU" AS "SKU", coalesce(t1."Product Line", 1) AS "Product Line", coalesce(t2."Pack Format", 5) AS "Pack Format", coalesce(t3."Size Band", 4) AS "Size Band", coalesce(t4."Price Tier", 2) AS "Price Tier", coalesce(t5."Temperature Zone", 4) AS "Temperature Zone", coalesce(t6."Lifecycle Status", 2) AS "Lifecycle Status", coalesce(t7."Plant", 1) AS "Plant", coalesce(t8."Subcategory", 1) AS "Subcategory", coalesce(t9."Brand", 1) AS "Brand", coalesce(t10."Supply Type", 2) AS "Supply Type", coalesce(t11."Category", 1) AS "Category", coalesce(t12."Brand Group", 1) AS "Brand Group", coalesce(t13."Brand Type", 2) AS "Brand Type", coalesce(t14."Division", 4) AS "Division" FROM "dim SKU" t0 LEFT JOIN "dim Product Line" t1 ON t1."Product Line" = t0."Product Line" LEFT JOIN "dim Pack Format" t2 ON t2."Pack Format" = t0."Pack Format" LEFT JOIN "dim Size Band" t3 ON t3."Size Band" = t0."Size Band" LEFT JOIN "dim Price Tier" t4 ON t4."Price Tier" = t0."Price Tier" LEFT JOIN "dim Temperature Zone" t5 ON t5."Temperature Zone" = t0."Temperature Zone" LEFT JOIN "dim Lifecycle Status" t6 ON t6."Lifecycle Status" = t0."Lifecycle Status" LEFT JOIN "dim Plant" t7 ON t7."Plant" = t0."Plant" LEFT JOIN "dim Subcategory" t8 ON t8."Subcategory" = t1."Subcategory" LEFT JOIN "dim Brand" t9 ON t9."Brand" = t1."Brand" LEFT JOIN "dim Supply Type" t10 ON t10."Supply Type" = t7."Supply Type" LEFT JOIN "dim Category" t11 ON t11."Category" = t8."Category" LEFT JOIN "dim Brand Group" t12 ON t12."Brand Group" = t9."Brand Group" LEFT JOIN "dim Brand Type" t13 ON t13."Brand Type" = t9."Brand Type" LEFT JOIN "dim Division" t14 ON t14."Division" = t11."Division"; +CREATE OR REPLACE TABLE "flat Size Band" AS SELECT t0."Size Band" AS "Size Band" FROM "dim Size Band" t0; +CREATE OR REPLACE TABLE "flat Subcategory" AS SELECT t0."Subcategory" AS "Subcategory", coalesce(t1."Category", 1) AS "Category", coalesce(t2."Division", 4) AS "Division" FROM "dim Subcategory" t0 LEFT JOIN "dim Category" t1 ON t1."Category" = t0."Category" LEFT JOIN "dim Division" t2 ON t2."Division" = t1."Division"; +CREATE OR REPLACE TABLE "flat Supply Type" AS SELECT t0."Supply Type" AS "Supply Type" FROM "dim Supply Type" t0; +CREATE OR REPLACE TABLE "flat Temperature Zone" AS SELECT t0."Temperature Zone" AS "Temperature Zone" FROM "dim Temperature Zone" t0; + +-- @table "FC Actual" +-- FC Actual = "FC Horizon IN" * "FC Closed IN" +CREATE OR REPLACE TABLE "FC Actual" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "FC Plan" +-- FC Plan = if(not(hasValue("FC Closed IN")), "FC Horizon IN") +CREATE OR REPLACE TABLE "FC Plan" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FC Plan Months" +-- FC Plan Months = "FC Plan" +CREATE OR REPLACE TABLE "FC Plan Months" AS +SELECT * FROM ( + SELECT d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "FC Plan" s GROUP BY s."Versions", s."Years") d +) WHERE v IS NOT NULL; + +-- @table "Volume ACT" +-- Volume ACT = "IMPORT Volume" +CREATE OR REPLACE TABLE "Volume ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Volume" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales ACT" +-- Gross Sales ACT = "IMPORT Gross Sales" +CREATE OR REPLACE TABLE "Gross Sales ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts ACT" +-- Standard Discounts ACT = "IMPORT Standard Discounts" +CREATE OR REPLACE TABLE "Standard Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Standard Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts ACT" +-- Promo Discounts ACT = "IMPORT Promo Discounts" +CREATE OR REPLACE TABLE "Promo Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts ACT" +-- Logistics Discounts ACT = "IMPORT Logistics Discounts" +CREATE OR REPLACE TABLE "Logistics Discounts ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Logistics Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Promo Funding ACT" +-- Promo Funding ACT = "IMPORT Promo Funding" +CREATE OR REPLACE TABLE "Promo Funding ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Funding" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales ACT" +-- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" +CREATE OR REPLACE TABLE "Invoice Sales ACT" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u +GROUP BY u."Customer", u."SKU", u."Years", u."Months"; + +-- @table "Invoice Sales ACT by Group" +-- Invoice Sales ACT by Group = "Invoice Sales ACT" +CREATE OR REPLACE TABLE "Invoice Sales ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Group Key ACT" +-- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") +CREATE OR REPLACE TABLE "Group Key ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Rebate Expense ACT" +-- Rebate Expense ACT = "IMPORT Rebates" + "IMPORT Rebate True-ups" +CREATE OR REPLACE TABLE "Rebate Expense ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebate True-ups" s) r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Rebates ACT" +-- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" +CREATE OR REPLACE TABLE "Rebates ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus ACT" +-- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" +CREATE OR REPLACE TABLE "Growth Bonus ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated ACT" +-- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" +CREATE OR REPLACE TABLE "Rebates Unallocated ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Growth Bonus Unallocated ACT" +-- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" +CREATE OR REPLACE TABLE "Growth Bonus Unallocated ACT" AS +SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u +GROUP BY u."Customer Group", u."Years", u."Months"; + +-- @table "Gross Sales ACT by Group Brand" +-- Gross Sales ACT by Group Brand = "Gross Sales ACT" +CREATE OR REPLACE TABLE "Gross Sales ACT by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts ACT by Group Brand" +-- Standard Discounts ACT by Group Brand = "Standard Discounts ACT" +CREATE OR REPLACE TABLE "Standard Discounts ACT by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate ACT" +-- Standard Discount Rate ACT = if(gt("Gross Sales ACT by Group Brand", 0), "Standard Discounts ACT by Group Brand" / "Gross Sales ACT by Group Brand") +CREATE OR REPLACE TABLE "Standard Discount Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group Brand" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT by Group Brand" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Brand" = d."Brand" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate ACT" +-- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") +CREATE OR REPLACE TABLE "Rebate Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Gross Sales ACT by Group" +-- Gross Sales ACT by Group = "Gross Sales ACT" +CREATE OR REPLACE TABLE "Gross Sales ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts ACT by Group" +-- Logistics Discounts ACT by Group = "Logistics Discounts ACT" +CREATE OR REPLACE TABLE "Logistics Discounts ACT by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Logistics Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate ACT" +-- Logistics Discount Rate ACT = if(gt("Gross Sales ACT by Group", 0), "Logistics Discounts ACT by Group" / "Gross Sales ACT by Group") +CREATE OR REPLACE TABLE "Logistics Discount Rate ACT" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "COGS ACT" +-- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" +CREATE OR REPLACE TABLE "COGS ACT" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Volume LY" +-- Volume LY = delay("Volume ACT", 12) +CREATE OR REPLACE TABLE "Volume LY" AS +SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v +FROM "Volume ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; + +-- @table "Invoice Sales ACT LY" +-- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) +CREATE OR REPLACE TABLE "Invoice Sales ACT LY" AS +SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v +FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; + +-- @table "Invoice Sales LY by Group" +-- Invoice Sales LY by Group = "Invoice Sales ACT LY" +CREATE OR REPLACE TABLE "Invoice Sales LY by Group" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Volume LY Plan" +-- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") +CREATE OR REPLACE TABLE "Volume LY Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Volume Growth Baseline" +-- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") +CREATE OR REPLACE TABLE "Volume Growth Baseline" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d + JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" +) WHERE v IS NOT NULL; + +-- @table "Volume LY by Group Category" +-- Volume LY by Group Category = "Volume LY" +CREATE OR REPLACE TABLE "Volume LY by Group Category" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Category" AS "Category", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", u1."Category" AS "Category", sum(s.v) AS v FROM "Volume LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", u0."Customer Group", u1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Target Key" +-- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") +CREATE OR REPLACE TABLE "Volume Target Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Target Cascade" +-- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" +CREATE OR REPLACE TABLE "Volume Target Cascade" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d +) WHERE v IS NOT NULL; + +-- @table "Volume Baseline" +-- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") +CREATE OR REPLACE TABLE "Volume Baseline" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d + LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume Planned" +-- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") +CREATE OR REPLACE TABLE "Volume Planned" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d + LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume Plan" +-- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") +CREATE OR REPLACE TABLE "Volume Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "List Price Reset" +-- List Price Reset = if(eq("FC Closed IN", 1), "IMPORT List Price") +CREATE OR REPLACE TABLE "List Price Reset" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."SKU" AS "SKU", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT List Price" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "List Price Carry" +-- List Price Carry = cumsum(0, 0, "List Price Reset") +CREATE OR REPLACE TABLE "List Price Carry" AS +WITH s AS (SELECT x."SKU" AS "SKU", x."Country" AS "Country", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "List Price Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "SKU", "Country", "Versions", min(p) AS p0 FROM s GROUP BY "SKU", "Country", "Versions"), +g AS (SELECT f."SKU" AS "SKU", f."Country" AS "Country", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."SKU" AS "SKU", g."Country" AS "Country", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."SKU" = g."SKU" AND s."Country" = g."Country" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "List Price Plan" +-- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") +CREATE OR REPLACE TABLE "List Price Plan" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v + FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d + JOIN "flat SKU" f_0 ON f_0."SKU" = d."SKU" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s.v AS v FROM "Price Increase IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_0."Brand" +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate Reset" +-- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") +CREATE OR REPLACE TABLE "Standard Discount Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discount Rate Carry" +-- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") +CREATE OR REPLACE TABLE "Standard Discount Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Brand" AS "Brand", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g."Brand" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Standard Discount Rate" +-- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") +CREATE OR REPLACE TABLE "Standard Discount Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate Reset" +-- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") +CREATE OR REPLACE TABLE "Rebate Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Rebate Rate Carry" +-- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") +CREATE OR REPLACE TABLE "Rebate Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Rebate Rate" +-- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") +CREATE OR REPLACE TABLE "Rebate Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate Reset" +-- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") +CREATE OR REPLACE TABLE "Logistics Discount Rate Reset" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discount Rate Carry" +-- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") +CREATE OR REPLACE TABLE "Logistics Discount Rate Carry" AS +WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), +g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "Logistics Discount Rate" +-- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") +CREATE OR REPLACE TABLE "Logistics Discount Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FX Rate Reset" +-- FX Rate Reset = if(eq("FC Closed IN", 1), "IMPORT FX Rate") +CREATE OR REPLACE TABLE "FX Rate Reset" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "FX Rate Carry" +-- FX Rate Carry = cumsum(0, 0, "FX Rate Reset") +CREATE OR REPLACE TABLE "FX Rate Carry" AS +WITH s AS (SELECT x."Currency" AS "Currency", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "FX Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), +f0 AS (SELECT "Currency", "Versions", min(p) AS p0 FROM s GROUP BY "Currency", "Versions"), +g AS (SELECT f."Currency" AS "Currency", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) +SELECT g."Currency" AS "Currency", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v +FROM g ASOF JOIN s ON s."Currency" = g."Currency" AND s."Versions" = g."Versions" AND g.p >= s.p; + +-- @table "FX Rate Plan" +-- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) +CREATE OR REPLACE TABLE "FX Rate Plan" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Gross Sales Plan" +-- Gross Sales Plan = "Volume Plan" * "List Price Plan" +CREATE OR REPLACE TABLE "Gross Sales Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts Plan" +-- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" +CREATE OR REPLACE TABLE "Standard Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts Plan" +-- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" +CREATE OR REPLACE TABLE "Promo Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts Plan" +-- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" +CREATE OR REPLACE TABLE "Logistics Discounts Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Promo Funding Plan" +-- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") +CREATE OR REPLACE TABLE "Promo Funding Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Standard Cost Plan" +-- Standard Cost Plan = if(hasValue("Standard Cost IN"), "Standard Cost IN", "IMPORT Standard Cost") +CREATE OR REPLACE TABLE "Standard Cost Plan" AS +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."SKU" AS "SKU", m_1."Versions" AS "Versions", p0."Years" AS "Years", p0.v AS p0_v FROM (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5]) AS "Versions") m_1) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "COGS Plan" +-- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" +CREATE OR REPLACE TABLE "COGS Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales" +-- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") +CREATE OR REPLACE TABLE "Gross Sales" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Standard Discounts" +-- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") +CREATE OR REPLACE TABLE "Standard Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Promo Discounts" +-- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") +CREATE OR REPLACE TABLE "Promo Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Logistics Discounts" +-- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") +CREATE OR REPLACE TABLE "Logistics Discounts" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales" +-- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" +CREATE OR REPLACE TABLE "Invoice Sales" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Invoice Sales Plan" +-- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") +CREATE OR REPLACE TABLE "Invoice Sales Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Plan" +-- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" +CREATE OR REPLACE TABLE "Rebates Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Group Year" +-- Invoice Sales by Group Year = "Invoice Sales" +CREATE OR REPLACE TABLE "Invoice Sales by Group Year" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Rate" +-- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) +CREATE OR REPLACE TABLE "Growth Bonus Rate" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Entitlement" +-- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) +CREATE OR REPLACE TABLE "Growth Bonus Entitlement" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Booked Monthly" +-- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") +CREATE OR REPLACE TABLE "Growth Bonus Booked Monthly" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Booked" +-- Growth Bonus Booked = "Growth Bonus Booked Monthly" +CREATE OR REPLACE TABLE "Growth Bonus Booked" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales Plan by Group Year" +-- Invoice Sales Plan by Group Year = "Invoice Sales Plan" +CREATE OR REPLACE TABLE "Invoice Sales Plan by Group Year" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Remaining" +-- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) +CREATE OR REPLACE TABLE "Growth Bonus Remaining" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Plan" +-- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) +CREATE OR REPLACE TABLE "Growth Bonus Plan" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Plan Unallocated" +-- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) +CREATE OR REPLACE TABLE "Growth Bonus Plan Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Plan" +-- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") +CREATE OR REPLACE TABLE "Trade Fees Plan" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Spend Plan" +-- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") +CREATE OR REPLACE TABLE "Marketing Spend Plan" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Split Monthly" +-- Marketing Split Monthly = "Marketing Split IN" +CREATE OR REPLACE TABLE "Marketing Split Monthly" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.p0_v AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", m_4."Months" AS "Months", p0.v AS p0_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Marketing Split IN" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) AS "Months") m_4) d +) WHERE v IS NOT NULL; + +-- @table "Marketing Plan EUR" +-- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" +CREATE OR REPLACE TABLE "Marketing Plan EUR" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Plan" +-- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" +CREATE OR REPLACE TABLE "Marketing Plan" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d +) WHERE v IS NOT NULL; + +-- @table "OPEX Plan" +-- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") +CREATE OR REPLACE TABLE "OPEX Plan" AS +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Volume" +-- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") +CREATE OR REPLACE TABLE "Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Promo Funding" +-- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") +CREATE OR REPLACE TABLE "Promo Funding" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "COGS" +-- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") +CREATE OR REPLACE TABLE "COGS" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebates" +-- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") +CREATE OR REPLACE TABLE "Rebates" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus" +-- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") +CREATE OR REPLACE TABLE "Growth Bonus" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated" +-- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") +CREATE OR REPLACE TABLE "Rebates Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Unallocated" +-- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") +CREATE OR REPLACE TABLE "Growth Bonus Unallocated" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Pool" +-- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") +CREATE OR REPLACE TABLE "Trade Fees Pool" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Marketing Pool" +-- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") +CREATE OR REPLACE TABLE "Marketing Pool" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "OPEX" +-- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") +CREATE OR REPLACE TABLE "OPEX" AS +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "FX Rate" +-- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") +CREATE OR REPLACE TABLE "FX Rate" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v + FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d +) WHERE v IS NOT NULL +UNION ALL +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; + +-- @table "Volume KG" +-- Volume KG = "Volume" * "IMPORT Unit Weight" +CREATE OR REPLACE TABLE "Volume KG" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d +) WHERE v IS NOT NULL; + +-- @table "Handling KG" +-- Handling KG = "Volume KG" * "IMPORT Handling Factor" +CREATE OR REPLACE TABLE "Handling KG" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales Positive" +-- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") +CREATE OR REPLACE TABLE "Invoice Sales Positive" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Group Brand" +-- Invoice Sales by Group Brand = "Invoice Sales Positive" +CREATE OR REPLACE TABLE "Invoice Sales by Group Brand" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Key" +-- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") +CREATE OR REPLACE TABLE "Trade Fees Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees" +-- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" +CREATE OR REPLACE TABLE "Trade Fees" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Trade Fees Unallocated" +-- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" +CREATE OR REPLACE TABLE "Trade Fees Unallocated" AS +SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u +GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; + +-- @table "Net Sales" +-- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" +CREATE OR REPLACE TABLE "Net Sales" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Gross Margin" +-- Gross Margin = "Net Sales" - "COGS" +CREATE OR REPLACE TABLE "Gross Margin" AS +SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u +GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; + +-- @table "Invoice Sales by Customer Brand" +-- Invoice Sales by Customer Brand = "Invoice Sales" +CREATE OR REPLACE TABLE "Invoice Sales by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Net Sales by Customer Brand" +-- Net Sales by Customer Brand = "Net Sales" +CREATE OR REPLACE TABLE "Net Sales by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Gross Margin by Customer Brand" +-- Gross Margin by Customer Brand = "Gross Margin" +CREATE OR REPLACE TABLE "Gross Margin by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Handling KG by Customer Brand" +-- Handling KG by Customer Brand = "Handling KG" +CREATE OR REPLACE TABLE "Handling KG by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Pool" +-- Logistics Pool = sum("OPEX", Function>Logistics) +CREATE OR REPLACE TABLE "Logistics Pool" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Handling KG Positive" +-- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") +CREATE OR REPLACE TABLE "Handling KG Positive" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d +) WHERE v IS NOT NULL; + +-- @table "Handling KG by Country" +-- Handling KG by Country = "Handling KG Positive" +CREATE OR REPLACE TABLE "Handling KG by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Key" +-- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") +CREATE OR REPLACE TABLE "Logistics Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Cost" +-- Logistics Cost = "Logistics Pool" * "Logistics Key" +CREATE OR REPLACE TABLE "Logistics Cost" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Logistics Unallocated" +-- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" +CREATE OR REPLACE TABLE "Logistics Unallocated" AS +SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u +GROUP BY u."Country", u."Versions", u."Years", u."Months"; + +-- @table "Sales Force Pool" +-- Sales Force Pool = sum("OPEX", Function>Sales) +CREATE OR REPLACE TABLE "Sales Force Pool" AS +SELECT * FROM ( + SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales Positive by Customer Brand" +-- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") +CREATE OR REPLACE TABLE "Invoice Sales Positive by Customer Brand" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d +) WHERE v IS NOT NULL; + +-- @table "Invoice Sales by Channel Country" +-- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" +CREATE OR REPLACE TABLE "Invoice Sales by Channel Country" AS +SELECT * FROM ( + SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Key" +-- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") +CREATE OR REPLACE TABLE "Sales Force Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Cost" +-- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" +CREATE OR REPLACE TABLE "Sales Force Cost" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Sales Force Unallocated" +-- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" +CREATE OR REPLACE TABLE "Sales Force Unallocated" AS +SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u +GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; + +-- @table "Contribution Margin II" +-- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" +CREATE OR REPLACE TABLE "Contribution Margin II" AS +SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u +GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; + +-- @table "Net Sales Positive" +-- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") +CREATE OR REPLACE TABLE "Net Sales Positive" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d +) WHERE v IS NOT NULL; + +-- @table "Net Sales by Brand Country" +-- Net Sales by Brand Country = "Net Sales Positive" +CREATE OR REPLACE TABLE "Net Sales by Brand Country" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Key" +-- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") +CREATE OR REPLACE TABLE "Marketing Key" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Cost" +-- Marketing Cost = "Marketing Pool" * "Marketing Key" +CREATE OR REPLACE TABLE "Marketing Cost" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v + FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Marketing Unallocated" +-- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" +CREATE OR REPLACE TABLE "Marketing Unallocated" AS +SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u +GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; + -- @table "Marketing Staff Pool" -- Marketing Staff Pool = sum("OPEX", Function>Marketing) -CREATE OR REPLACE TEMP TABLE "Marketing Staff Pool" AS +CREATE OR REPLACE TABLE "Marketing Staff Pool" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 3 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -14,7 +1149,7 @@ SELECT * FROM ( -- @table "Net Sales Positive by Country" -- Net Sales Positive by Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales Positive by Country" AS +CREATE OR REPLACE TABLE "Net Sales Positive by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d @@ -22,7 +1157,7 @@ SELECT * FROM ( -- @table "Marketing Staff Key" -- Marketing Staff Key = if(gt("Net Sales Positive by Country", 0), "Net Sales Positive" / "Net Sales Positive by Country") -CREATE OR REPLACE TEMP TABLE "Marketing Staff Key" AS +CREATE OR REPLACE TABLE "Marketing Staff Key" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales Positive by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -30,7 +1165,7 @@ SELECT * FROM ( -- @table "Marketing Staff Cost" -- Marketing Staff Cost = "Marketing Staff Pool" * "Marketing Staff Key" -CREATE OR REPLACE TEMP TABLE "Marketing Staff Cost" AS +CREATE OR REPLACE TABLE "Marketing Staff Cost" AS SELECT * FROM ( SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Staff Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d @@ -38,67 +1173,235 @@ SELECT * FROM ( -- @table "Contribution Margin III" -- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" - "Marketing Staff Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS +CREATE OR REPLACE TABLE "Contribution Margin III" AS SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Cost" s) r2) u GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; -- @table "Marketing Staff Unallocated" -- Marketing Staff Unallocated = "Marketing Staff Pool" - "Marketing Staff Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Staff Unallocated" AS +CREATE OR REPLACE TABLE "Marketing Staff Unallocated" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Staff Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; -- @table "Overheads" -- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales, Function>Marketing))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS +CREATE OR REPLACE TABLE "Overheads" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5 OR u0."Function" = 3)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d ) WHERE v IS NOT NULL; --- @table "Contribution Margin III by Country" (reads a changed table) +-- @table "Contribution Margin III by Country" -- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS +CREATE OR REPLACE TABLE "Contribution Margin III by Country" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d ) WHERE v IS NOT NULL; +-- @table "Trade Fees Unallocated by Country" +-- Trade Fees Unallocated by Country = "Trade Fees Unallocated" +CREATE OR REPLACE TABLE "Trade Fees Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Rebates Unallocated by Country" +-- Rebates Unallocated by Country = "Rebates Unallocated" +CREATE OR REPLACE TABLE "Rebates Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "Growth Bonus Unallocated by Country" +-- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" +CREATE OR REPLACE TABLE "Growth Bonus Unallocated by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + -- @table "Unallocated by Country" -- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" + "Marketing Staff Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS +CREATE OR REPLACE TABLE "Unallocated by Country" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Unallocated" s) r6) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "EBIT OUT" (reads a changed table) +-- @table "EBIT OUT" -- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS +CREATE OR REPLACE TABLE "EBIT OUT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "EBIT EUR OUT" (reads a changed table) +-- @table "EBIT EUR OUT" -- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS +CREATE OR REPLACE TABLE "EBIT EUR OUT" AS SELECT * FROM ( SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d ) WHERE v IS NOT NULL; --- @table "PL Overheads" (reads a changed table) +-- @table "PL Gross Sales" +-- PL Gross Sales = "Gross Sales" +CREATE OR REPLACE TABLE "PL Gross Sales" AS +SELECT * FROM ( + SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Standard Discounts" +-- PL Standard Discounts = -1 * "Standard Discounts" +CREATE OR REPLACE TABLE "PL Standard Discounts" AS +SELECT * FROM ( + SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Promo Discounts" +-- PL Promo Discounts = -1 * "Promo Discounts" +CREATE OR REPLACE TABLE "PL Promo Discounts" AS +SELECT * FROM ( + SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics Discounts" +-- PL Logistics Discounts = -1 * "Logistics Discounts" +CREATE OR REPLACE TABLE "PL Logistics Discounts" AS +SELECT * FROM ( + SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Rebates" +-- PL Rebates = -1 * "Rebates" +CREATE OR REPLACE TABLE "PL Rebates" AS +SELECT * FROM ( + SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Growth Bonus" +-- PL Growth Bonus = -1 * "Growth Bonus" +CREATE OR REPLACE TABLE "PL Growth Bonus" AS +SELECT * FROM ( + SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Trade Fees" +-- PL Trade Fees = -1 * "Trade Fees" +CREATE OR REPLACE TABLE "PL Trade Fees" AS +SELECT * FROM ( + SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Promo Funding" +-- PL Promo Funding = -1 * "Promo Funding" +CREATE OR REPLACE TABLE "PL Promo Funding" AS +SELECT * FROM ( + SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL COGS" +-- PL COGS = -1 * "COGS" +CREATE OR REPLACE TABLE "PL COGS" AS +SELECT * FROM ( + SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics" +-- PL Logistics = -1 * "Logistics Cost" +CREATE OR REPLACE TABLE "PL Logistics" AS +SELECT * FROM ( + SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Sales Force" +-- PL Sales Force = -1 * "Sales Force Cost" +CREATE OR REPLACE TABLE "PL Sales Force" AS +SELECT * FROM ( + SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Marketing" +-- PL Marketing = -1 * "Marketing Cost" +CREATE OR REPLACE TABLE "PL Marketing" AS +SELECT * FROM ( + SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Overheads" -- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS +CREATE OR REPLACE TABLE "PL Overheads" AS SELECT * FROM ( SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d ) WHERE v IS NOT NULL; +-- @table "PL Rebates Unallocated" +-- PL Rebates Unallocated = -1 * "Rebates Unallocated" +CREATE OR REPLACE TABLE "PL Rebates Unallocated" AS +SELECT * FROM ( + SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Growth Bonus Unallocated" +-- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" +CREATE OR REPLACE TABLE "PL Growth Bonus Unallocated" AS +SELECT * FROM ( + SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Trade Fees Unallocated" +-- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" +CREATE OR REPLACE TABLE "PL Trade Fees Unallocated" AS +SELECT * FROM ( + SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "PL Logistics Unallocated" +-- PL Logistics Unallocated = -1 * "Logistics Unallocated" +CREATE OR REPLACE TABLE "PL Logistics Unallocated" AS +SELECT * FROM ( + SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d +) WHERE v IS NOT NULL; + +-- @table "PL Sales Force Unallocated" +-- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" +CREATE OR REPLACE TABLE "PL Sales Force Unallocated" AS +SELECT * FROM ( + SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d +) WHERE v IS NOT NULL; + +-- @table "PL Marketing Unallocated" +-- PL Marketing Unallocated = -1 * "Marketing Unallocated" +CREATE OR REPLACE TABLE "PL Marketing Unallocated" AS +SELECT * FROM ( + SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d +) WHERE v IS NOT NULL; + -- @table "PL Marketing Staff" -- PL Marketing Staff = -1 * "Marketing Staff Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing Staff" AS +CREATE OR REPLACE TABLE "PL Marketing Staff" AS SELECT * FROM ( SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Staff Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d @@ -106,7 +1409,7 @@ SELECT * FROM ( -- @table "PL Marketing Staff Unallocated" -- PL Marketing Staff Unallocated = -1 * "Marketing Staff Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Staff Unallocated" AS +CREATE OR REPLACE TABLE "PL Marketing Staff Unallocated" AS SELECT * FROM ( SELECT 13 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Unallocated" s) d @@ -114,32 +1417,148 @@ SELECT * FROM ( -- @table "PL OUT" -- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" + "PL Marketing Staff" + "PL Marketing Staff Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS +CREATE OR REPLACE TABLE "PL OUT" AS SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Staff" s) r19 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Staff Unallocated" s) r20) u GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; --- @table "PL EUR OUT" (reads a changed table) +-- @table "PL EUR OUT" -- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS +CREATE OR REPLACE TABLE "PL EUR OUT" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d ) WHERE v IS NOT NULL; +-- @table "Volume by Brand Channel Country" +-- Volume by Brand Channel Country = "Volume" +CREATE OR REPLACE TABLE "Volume by Brand Channel Country" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d +) WHERE v IS NOT NULL; + +-- @table "Volume for KPIs" +-- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") +CREATE OR REPLACE TABLE "Volume for KPIs" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v + FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d +) WHERE v IS NOT NULL; + +-- @table "Gross Sales Loaded by Country" +-- Gross Sales Loaded by Country = "IMPORT Gross Sales" +CREATE OR REPLACE TABLE "Gross Sales Loaded by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + +-- @table "CHECK Import Total" +-- CHECK Import Total = "IMPORT Control Total" - "Gross Sales Loaded by Country" +CREATE OR REPLACE TABLE "CHECK Import Total" AS +SELECT u."Country" AS "Country", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Country", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Control Total" s) r0 UNION ALL SELECT "Country", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Loaded by Country" s) r1) u +GROUP BY u."Country", u."Years", u."Months"; + +-- @table "CHECK Marketing Split" +-- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" +CREATE OR REPLACE TABLE "CHECK Marketing Split" AS +SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v +FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u +GROUP BY u."Brand", u."Versions", u."Years", u."Months"; + +-- @table "CHECK Growth Bonus" +-- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") +CREATE OR REPLACE TABLE "CHECK Growth Bonus" AS +SELECT * FROM ( + SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" + LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "OPEX by Country" +-- OPEX by Country = "OPEX" +CREATE OR REPLACE TABLE "OPEX by Country" AS +SELECT * FROM ( + SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v + FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d +) WHERE v IS NOT NULL; + -- @table "CHECK OPEX in EBIT" -- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" - "Marketing Staff Cost" - "Marketing Staff Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS +CREATE OR REPLACE TABLE "CHECK OPEX in EBIT" AS SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Staff Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r6 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Staff Unallocated" s) r7) u GROUP BY u."Country", u."Versions", u."Years", u."Months"; --- @table "CHECK PL without FX Rate" (reads a changed table) +-- @table "CHECK Uncosted Volume" +-- CHECK Uncosted Volume = if(not(hasValue("IMPORT Standard Cost")), "Volume ACT") +CREATE OR REPLACE TABLE "CHECK Uncosted Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) r0 ON r0."SKU" = d."SKU" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "CHECK Uncosted Plan Volume" +-- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") +CREATE OR REPLACE TABLE "CHECK Uncosted Plan Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" +) WHERE v IS NOT NULL; + +-- @table "CHECK Unpriced Volume" +-- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") +CREATE OR REPLACE TABLE "CHECK Unpriced Volume" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" +) WHERE v IS NOT NULL; + +-- @table "CHECK Volume without FX Rate" +-- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") +CREATE OR REPLACE TABLE "CHECK Volume without FX Rate" AS +SELECT * FROM ( + SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d + JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" +) WHERE v IS NOT NULL; + +-- @table "CHECK Marketing without FX Rate" +-- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") +CREATE OR REPLACE TABLE "CHECK Marketing without FX Rate" AS +SELECT * FROM ( + SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v + FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d + JOIN "flat Country" f_1 ON f_1."Country" = d."Country" + LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" +) WHERE v IS NOT NULL; + +-- @table "CHECK PL without FX Rate" -- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS +CREATE OR REPLACE TABLE "CHECK PL without FX Rate" AS SELECT * FROM ( SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d JOIN "flat Country" f_3 ON f_3."Country" = d."Country" LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" ) WHERE v IS NOT NULL; + +-- @table "CHECK EUR Rate" +-- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) +CREATE OR REPLACE TABLE "CHECK EUR Rate" AS +SELECT * FROM ( + SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v + FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d + LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" +) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/FC Closed IN.sql b/systems/duckdb-tables/sql/rebuild/FC Closed IN.sql deleted file mode 100644 index 7aedf5c..0000000 --- a/systems/duckdb-tables/sql/rebuild/FC Closed IN.sql +++ /dev/null @@ -1,1226 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to FC Closed IN: the 136 calculated tables it reaches, in dependency order. - --- @table "FC Actual" --- FC Actual = "FC Horizon IN" * "FC Closed IN" -CREATE OR REPLACE TEMP TABLE "FC Actual" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "FC Plan" --- FC Plan = if(not(hasValue("FC Closed IN")), "FC Horizon IN") -CREATE OR REPLACE TEMP TABLE "FC Plan" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FC Plan Months" --- FC Plan Months = "FC Plan" -CREATE OR REPLACE TEMP TABLE "FC Plan Months" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "FC Plan" s GROUP BY s."Versions", s."Years") d -) WHERE v IS NOT NULL; - --- @table "Volume LY Plan" --- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") -CREATE OR REPLACE TEMP TABLE "Volume LY Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Volume Growth Baseline" --- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") -CREATE OR REPLACE TEMP TABLE "Volume Growth Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d - JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" -) WHERE v IS NOT NULL; - --- @table "Volume Target Key" --- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") -CREATE OR REPLACE TEMP TABLE "Volume Target Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Target Cascade" --- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" -CREATE OR REPLACE TEMP TABLE "Volume Target Cascade" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Baseline" --- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "List Price Reset" --- List Price Reset = if(eq("FC Closed IN", 1), "IMPORT List Price") -CREATE OR REPLACE TEMP TABLE "List Price Reset" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."SKU" AS "SKU", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT List Price" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "List Price Carry" --- List Price Carry = cumsum(0, 0, "List Price Reset") -CREATE OR REPLACE TEMP TABLE "List Price Carry" AS -WITH s AS (SELECT x."SKU" AS "SKU", x."Country" AS "Country", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "List Price Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "SKU", "Country", "Versions", min(p) AS p0 FROM s GROUP BY "SKU", "Country", "Versions"), -g AS (SELECT f."SKU" AS "SKU", f."Country" AS "Country", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."SKU" AS "SKU", g."Country" AS "Country", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."SKU" = g."SKU" AND s."Country" = g."Country" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "List Price Plan" --- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") -CREATE OR REPLACE TEMP TABLE "List Price Plan" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d - JOIN "flat SKU" f_0 ON f_0."SKU" = d."SKU" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s.v AS v FROM "Price Increase IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_0."Brand" -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Reset" --- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Carry" --- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Brand" AS "Brand", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g."Brand" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Standard Discount Rate" --- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Reset" --- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Carry" --- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Logistics Discount Rate" --- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FX Rate Reset" --- FX Rate Reset = if(eq("FC Closed IN", 1), "IMPORT FX Rate") -CREATE OR REPLACE TEMP TABLE "FX Rate Reset" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "FX Rate Carry" --- FX Rate Carry = cumsum(0, 0, "FX Rate Reset") -CREATE OR REPLACE TEMP TABLE "FX Rate Carry" AS -WITH s AS (SELECT x."Currency" AS "Currency", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "FX Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Currency", "Versions", min(p) AS p0 FROM s GROUP BY "Currency", "Versions"), -g AS (SELECT f."Currency" AS "Currency", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Currency" AS "Currency", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Currency" = g."Currency" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "FX Rate Plan" --- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) -CREATE OR REPLACE TEMP TABLE "FX Rate Plan" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Promo Funding Plan" --- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") -CREATE OR REPLACE TEMP TABLE "Promo Funding Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Booked Monthly" --- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked Monthly" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Booked" --- Growth Bonus Booked = "Growth Bonus Booked Monthly" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Trade Fees Plan" --- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") -CREATE OR REPLACE TEMP TABLE "Trade Fees Plan" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Spend Plan" --- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") -CREATE OR REPLACE TEMP TABLE "Marketing Spend Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan EUR" --- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan EUR" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "OPEX Plan" --- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") -CREATE OR REPLACE TEMP TABLE "OPEX Plan" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Funding" --- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") -CREATE OR REPLACE TEMP TABLE "Promo Funding" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Trade Fees Pool" --- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") -CREATE OR REPLACE TEMP TABLE "Trade Fees Pool" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "OPEX" --- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") -CREATE OR REPLACE TEMP TABLE "OPEX" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FX Rate" --- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") -CREATE OR REPLACE TEMP TABLE "FX Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Pool" --- Logistics Pool = sum("OPEX", Function>Logistics) -CREATE OR REPLACE TEMP TABLE "Logistics Pool" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Sales Force Pool" --- Sales Force Pool = sum("OPEX", Function>Sales) -CREATE OR REPLACE TEMP TABLE "Sales Force Pool" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Overheads" --- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Funding" --- PL Promo Funding = -1 * "Promo Funding" -CREATE OR REPLACE TEMP TABLE "PL Promo Funding" AS -SELECT * FROM ( - SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Overheads" --- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS -SELECT * FROM ( - SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing Split" --- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" -CREATE OR REPLACE TEMP TABLE "CHECK Marketing Split" AS -SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u -GROUP BY u."Brand", u."Versions", u."Years", u."Months"; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "OPEX by Country" --- OPEX by Country = "OPEX" -CREATE OR REPLACE TEMP TABLE "OPEX by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK EUR Rate" --- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) -CREATE OR REPLACE TEMP TABLE "CHECK EUR Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/FC Horizon IN.sql b/systems/duckdb-tables/sql/rebuild/FC Horizon IN.sql deleted file mode 100644 index f49f6d1..0000000 --- a/systems/duckdb-tables/sql/rebuild/FC Horizon IN.sql +++ /dev/null @@ -1,1089 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to FC Horizon IN: the 122 calculated tables it reaches, in dependency order. - --- @table "FC Actual" --- FC Actual = "FC Horizon IN" * "FC Closed IN" -CREATE OR REPLACE TEMP TABLE "FC Actual" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "FC Plan" --- FC Plan = if(not(hasValue("FC Closed IN")), "FC Horizon IN") -CREATE OR REPLACE TEMP TABLE "FC Plan" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Horizon IN" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FC Plan Months" --- FC Plan Months = "FC Plan" -CREATE OR REPLACE TEMP TABLE "FC Plan Months" AS -SELECT * FROM ( - SELECT d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "FC Plan" s GROUP BY s."Versions", s."Years") d -) WHERE v IS NOT NULL; - --- @table "Volume LY Plan" --- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") -CREATE OR REPLACE TEMP TABLE "Volume LY Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Volume Growth Baseline" --- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") -CREATE OR REPLACE TEMP TABLE "Volume Growth Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d - JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" -) WHERE v IS NOT NULL; - --- @table "Volume Target Key" --- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") -CREATE OR REPLACE TEMP TABLE "Volume Target Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Target Cascade" --- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" -CREATE OR REPLACE TEMP TABLE "Volume Target Cascade" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Baseline" --- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "FX Rate Plan" --- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) -CREATE OR REPLACE TEMP TABLE "FX Rate Plan" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Promo Funding Plan" --- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") -CREATE OR REPLACE TEMP TABLE "Promo Funding Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Booked Monthly" --- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked Monthly" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Booked" --- Growth Bonus Booked = "Growth Bonus Booked Monthly" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Trade Fees Plan" --- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") -CREATE OR REPLACE TEMP TABLE "Trade Fees Plan" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Spend Plan" --- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") -CREATE OR REPLACE TEMP TABLE "Marketing Spend Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan EUR" --- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan EUR" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "OPEX Plan" --- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") -CREATE OR REPLACE TEMP TABLE "OPEX Plan" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Funding" --- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") -CREATE OR REPLACE TEMP TABLE "Promo Funding" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Trade Fees Pool" --- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") -CREATE OR REPLACE TEMP TABLE "Trade Fees Pool" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "OPEX" --- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") -CREATE OR REPLACE TEMP TABLE "OPEX" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FX Rate" --- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") -CREATE OR REPLACE TEMP TABLE "FX Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Pool" --- Logistics Pool = sum("OPEX", Function>Logistics) -CREATE OR REPLACE TEMP TABLE "Logistics Pool" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Sales Force Pool" --- Sales Force Pool = sum("OPEX", Function>Sales) -CREATE OR REPLACE TEMP TABLE "Sales Force Pool" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Overheads" --- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Funding" --- PL Promo Funding = -1 * "Promo Funding" -CREATE OR REPLACE TEMP TABLE "PL Promo Funding" AS -SELECT * FROM ( - SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Overheads" --- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS -SELECT * FROM ( - SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing Split" --- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" -CREATE OR REPLACE TEMP TABLE "CHECK Marketing Split" AS -SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u -GROUP BY u."Brand", u."Versions", u."Years", u."Months"; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "OPEX by Country" --- OPEX by Country = "OPEX" -CREATE OR REPLACE TEMP TABLE "OPEX by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK EUR Rate" --- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) -CREATE OR REPLACE TEMP TABLE "CHECK EUR Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/FX Rate IN.sql b/systems/duckdb-tables/sql/rebuild/FX Rate IN.sql deleted file mode 100644 index a651560..0000000 --- a/systems/duckdb-tables/sql/rebuild/FX Rate IN.sql +++ /dev/null @@ -1,230 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to FX Rate IN: the 26 calculated tables it reaches, in dependency order. - --- @table "FX Rate Plan" --- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) -CREATE OR REPLACE TEMP TABLE "FX Rate Plan" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FX Rate" --- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") -CREATE OR REPLACE TEMP TABLE "FX Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK EUR Rate" --- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) -CREATE OR REPLACE TEMP TABLE "CHECK EUR Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Growth Bonus Rate IN.sql b/systems/duckdb-tables/sql/rebuild/Growth Bonus Rate IN.sql deleted file mode 100644 index ceab428..0000000 --- a/systems/duckdb-tables/sql/rebuild/Growth Bonus Rate IN.sql +++ /dev/null @@ -1,268 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Growth Bonus Rate IN: the 31 calculated tables it reaches, in dependency order. - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Growth Bonus Threshold IN.sql b/systems/duckdb-tables/sql/rebuild/Growth Bonus Threshold IN.sql deleted file mode 100644 index 00472fe..0000000 --- a/systems/duckdb-tables/sql/rebuild/Growth Bonus Threshold IN.sql +++ /dev/null @@ -1,268 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Growth Bonus Threshold IN: the 31 calculated tables it reaches, in dependency order. - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Control Total.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Control Total.sql deleted file mode 100644 index 234b48a..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Control Total.sql +++ /dev/null @@ -1,8 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Control Total: the 1 calculated tables it reaches, in dependency order. - --- @table "CHECK Import Total" --- CHECK Import Total = "IMPORT Control Total" - "Gross Sales Loaded by Country" -CREATE OR REPLACE TEMP TABLE "CHECK Import Total" AS -SELECT u."Country" AS "Country", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Control Total" s) r0 UNION ALL SELECT "Country", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Loaded by Country" s) r1) u -GROUP BY u."Country", u."Years", u."Months"; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT FX Rate.sql b/systems/duckdb-tables/sql/rebuild/IMPORT FX Rate.sql deleted file mode 100644 index a99444e..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT FX Rate.sql +++ /dev/null @@ -1,255 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT FX Rate: the 29 calculated tables it reaches, in dependency order. - --- @table "COGS ACT" --- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" -CREATE OR REPLACE TEMP TABLE "COGS ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "FX Rate Reset" --- FX Rate Reset = if(eq("FC Closed IN", 1), "IMPORT FX Rate") -CREATE OR REPLACE TEMP TABLE "FX Rate Reset" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "FX Rate Carry" --- FX Rate Carry = cumsum(0, 0, "FX Rate Reset") -CREATE OR REPLACE TEMP TABLE "FX Rate Carry" AS -WITH s AS (SELECT x."Currency" AS "Currency", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "FX Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Currency", "Versions", min(p) AS p0 FROM s GROUP BY "Currency", "Versions"), -g AS (SELECT f."Currency" AS "Currency", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Currency" AS "Currency", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Currency" = g."Currency" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "FX Rate Plan" --- FX Rate Plan = if(eq("FC Plan", 1), if(hasValue("FX Rate IN"), "FX Rate IN", "FX Rate Carry")) -CREATE OR REPLACE TEMP TABLE "FX Rate Plan" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN r1.v ELSE r2.v END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" UNION SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate IN" s) r1 ON r1."Currency" = d."Currency" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Months" = d."Months" - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Carry" s) r2 ON r2."Currency" = d."Currency" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" AND r2."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "FX Rate" --- FX Rate = if(eq("FC Actual", 1), "IMPORT FX Rate", "FX Rate Plan") -CREATE OR REPLACE TEMP TABLE "FX Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Currency" AS "Currency", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT FX Rate" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK EUR Rate" --- CHECK EUR Rate = if(hasDMember(Currency>EUR), "FX Rate" - 1) -CREATE OR REPLACE TEMP TABLE "CHECK EUR Rate" AS -SELECT * FROM ( - SELECT d."Currency" AS "Currency", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d."Currency" = 2) THEN (CASE WHEN r0.v IS NULL AND CAST(1 AS DOUBLE) IS NULL THEN NULL ELSE coalesce(r0.v, 0) - coalesce(CAST(1 AS DOUBLE), 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Currency" AS "Currency", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months" FROM (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) p0) d - LEFT JOIN (SELECT s."Currency" AS "Currency", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FX Rate" s) r0 ON r0."Currency" = d."Currency" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Gross Sales.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Gross Sales.sql deleted file mode 100644 index 43791da..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Gross Sales.sql +++ /dev/null @@ -1,794 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Gross Sales: the 92 calculated tables it reaches, in dependency order. - --- @table "Gross Sales ACT" --- Gross Sales ACT = "IMPORT Gross Sales" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT" --- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u -GROUP BY u."Customer", u."SKU", u."Years", u."Months"; - --- @table "Invoice Sales ACT by Group" --- Invoice Sales ACT by Group = "Invoice Sales ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Group Key ACT" --- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Group Key ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus ACT" --- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Growth Bonus Unallocated ACT" --- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Gross Sales ACT by Group Brand" --- Gross Sales ACT by Group Brand = "Gross Sales ACT" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate ACT" --- Standard Discount Rate ACT = if(gt("Gross Sales ACT by Group Brand", 0), "Standard Discounts ACT by Group Brand" / "Gross Sales ACT by Group Brand") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group Brand" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT by Group Brand" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Brand" = d."Brand" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate ACT" --- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Sales ACT by Group" --- Gross Sales ACT by Group = "Gross Sales ACT" -CREATE OR REPLACE TEMP TABLE "Gross Sales ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Gross Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate ACT" --- Logistics Discount Rate ACT = if(gt("Gross Sales ACT by Group", 0), "Logistics Discounts ACT by Group" / "Gross Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT LY" --- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT LY" AS -SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v -FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; - --- @table "Invoice Sales LY by Group" --- Invoice Sales LY by Group = "Invoice Sales ACT LY" -CREATE OR REPLACE TEMP TABLE "Invoice Sales LY by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Reset" --- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Carry" --- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Brand" AS "Brand", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g."Brand" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Standard Discount Rate" --- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Reset" --- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Carry" --- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Logistics Discount Rate" --- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales Loaded by Country" --- Gross Sales Loaded by Country = "IMPORT Gross Sales" -CREATE OR REPLACE TEMP TABLE "Gross Sales Loaded by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "IMPORT Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "CHECK Import Total" --- CHECK Import Total = "IMPORT Control Total" - "Gross Sales Loaded by Country" -CREATE OR REPLACE TEMP TABLE "CHECK Import Total" AS -SELECT u."Country" AS "Country", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Control Total" s) r0 UNION ALL SELECT "Country", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Loaded by Country" s) r1) u -GROUP BY u."Country", u."Years", u."Months"; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Growth Bonus.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Growth Bonus.sql deleted file mode 100644 index 2793585..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Growth Bonus.sql +++ /dev/null @@ -1,279 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Growth Bonus: the 33 calculated tables it reaches, in dependency order. - --- @table "Growth Bonus ACT" --- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated ACT" --- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Growth Bonus Booked Monthly" --- Growth Bonus Booked Monthly = if(eq("FC Actual", 1), "IMPORT Growth Bonus") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked Monthly" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Booked" --- Growth Bonus Booked = "Growth Bonus Booked Monthly" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Booked" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Booked Monthly" s GROUP BY s."Customer Group", s."Versions", s."Years") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Handling Factor.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Handling Factor.sql deleted file mode 100644 index 8b7c5cd..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Handling Factor.sql +++ /dev/null @@ -1,148 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Handling Factor: the 19 calculated tables it reaches, in dependency order. - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT List Price.sql b/systems/duckdb-tables/sql/rebuild/IMPORT List Price.sql deleted file mode 100644 index ae3f7df..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT List Price.sql +++ /dev/null @@ -1,619 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT List Price: the 71 calculated tables it reaches, in dependency order. - --- @table "List Price Reset" --- List Price Reset = if(eq("FC Closed IN", 1), "IMPORT List Price") -CREATE OR REPLACE TEMP TABLE "List Price Reset" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."SKU" AS "SKU", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT List Price" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "List Price Carry" --- List Price Carry = cumsum(0, 0, "List Price Reset") -CREATE OR REPLACE TEMP TABLE "List Price Carry" AS -WITH s AS (SELECT x."SKU" AS "SKU", x."Country" AS "Country", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "List Price Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "SKU", "Country", "Versions", min(p) AS p0 FROM s GROUP BY "SKU", "Country", "Versions"), -g AS (SELECT f."SKU" AS "SKU", f."Country" AS "Country", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."SKU" AS "SKU", g."Country" AS "Country", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."SKU" = g."SKU" AND s."Country" = g."Country" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "List Price Plan" --- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") -CREATE OR REPLACE TEMP TABLE "List Price Plan" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d - JOIN "flat SKU" f_0 ON f_0."SKU" = d."SKU" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s.v AS v FROM "Price Increase IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_0."Brand" -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Logistics Discounts.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Logistics Discounts.sql deleted file mode 100644 index 3b5a583..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Logistics Discounts.sql +++ /dev/null @@ -1,679 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Logistics Discounts: the 80 calculated tables it reaches, in dependency order. - --- @table "Logistics Discounts ACT" --- Logistics Discounts ACT = "IMPORT Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Logistics Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT" --- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u -GROUP BY u."Customer", u."SKU", u."Years", u."Months"; - --- @table "Invoice Sales ACT by Group" --- Invoice Sales ACT by Group = "Invoice Sales ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Group Key ACT" --- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Group Key ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus ACT" --- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Growth Bonus Unallocated ACT" --- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebate Rate ACT" --- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts ACT by Group" --- Logistics Discounts ACT by Group = "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Logistics Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate ACT" --- Logistics Discount Rate ACT = if(gt("Gross Sales ACT by Group", 0), "Logistics Discounts ACT by Group" / "Gross Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT LY" --- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT LY" AS -SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v -FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; - --- @table "Invoice Sales LY by Group" --- Invoice Sales LY by Group = "Invoice Sales ACT LY" -CREATE OR REPLACE TEMP TABLE "Invoice Sales LY by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Reset" --- Logistics Discount Rate Reset = if(eq("FC Closed IN", 1), "Logistics Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discount Rate Carry" --- Logistics Discount Rate Carry = cumsum(0, 0, "Logistics Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Logistics Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Logistics Discount Rate" --- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Marketing.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Marketing.sql deleted file mode 100644 index 83f7da8..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Marketing.sql +++ /dev/null @@ -1,108 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Marketing: the 13 calculated tables it reaches, in dependency order. - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT OPEX.sql b/systems/duckdb-tables/sql/rebuild/IMPORT OPEX.sql deleted file mode 100644 index 6d70ea5..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT OPEX.sql +++ /dev/null @@ -1,193 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT OPEX: the 24 calculated tables it reaches, in dependency order. - --- @table "OPEX" --- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") -CREATE OR REPLACE TEMP TABLE "OPEX" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Pool" --- Logistics Pool = sum("OPEX", Function>Logistics) -CREATE OR REPLACE TEMP TABLE "Logistics Pool" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Sales Force Pool" --- Sales Force Pool = sum("OPEX", Function>Sales) -CREATE OR REPLACE TEMP TABLE "Sales Force Pool" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Overheads" --- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Overheads" --- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS -SELECT * FROM ( - SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "OPEX by Country" --- OPEX by Country = "OPEX" -CREATE OR REPLACE TEMP TABLE "OPEX by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Promo Discounts.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Promo Discounts.sql deleted file mode 100644 index 6f121ae..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Promo Discounts.sql +++ /dev/null @@ -1,623 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Promo Discounts: the 74 calculated tables it reaches, in dependency order. - --- @table "Promo Discounts ACT" --- Promo Discounts ACT = "IMPORT Promo Discounts" -CREATE OR REPLACE TEMP TABLE "Promo Discounts ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT" --- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u -GROUP BY u."Customer", u."SKU", u."Years", u."Months"; - --- @table "Invoice Sales ACT by Group" --- Invoice Sales ACT by Group = "Invoice Sales ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Group Key ACT" --- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Group Key ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus ACT" --- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Growth Bonus Unallocated ACT" --- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebate Rate ACT" --- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT LY" --- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT LY" AS -SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v -FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; - --- @table "Invoice Sales LY by Group" --- Invoice Sales LY by Group = "Invoice Sales ACT LY" -CREATE OR REPLACE TEMP TABLE "Invoice Sales LY by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Promo Funding.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Promo Funding.sql deleted file mode 100644 index b2095a4..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Promo Funding.sql +++ /dev/null @@ -1,185 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Promo Funding: the 23 calculated tables it reaches, in dependency order. - --- @table "Promo Funding ACT" --- Promo Funding ACT = "IMPORT Promo Funding" -CREATE OR REPLACE TEMP TABLE "Promo Funding ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Promo Funding" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Promo Funding" --- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") -CREATE OR REPLACE TEMP TABLE "Promo Funding" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Funding" --- PL Promo Funding = -1 * "Promo Funding" -CREATE OR REPLACE TEMP TABLE "PL Promo Funding" AS -SELECT * FROM ( - SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Rebate True-ups.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Rebate True-ups.sql deleted file mode 100644 index acd614a..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Rebate True-ups.sql +++ /dev/null @@ -1,223 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Rebate True-ups: the 28 calculated tables it reaches, in dependency order. - --- @table "Rebate Expense ACT" --- Rebate Expense ACT = "IMPORT Rebates" + "IMPORT Rebate True-ups" -CREATE OR REPLACE TEMP TABLE "Rebate Expense ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebate True-ups" s) r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Rebates.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Rebates.sql deleted file mode 100644 index aa47098..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Rebates.sql +++ /dev/null @@ -1,271 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Rebates: the 33 calculated tables it reaches, in dependency order. - --- @table "Rebate Expense ACT" --- Rebate Expense ACT = "IMPORT Rebates" + "IMPORT Rebate True-ups" -CREATE OR REPLACE TEMP TABLE "Rebate Expense ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebate True-ups" s) r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Rebate Rate ACT" --- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Standard Cost.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Standard Cost.sql deleted file mode 100644 index 4a11d7c..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Standard Cost.sql +++ /dev/null @@ -1,148 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Standard Cost: the 17 calculated tables it reaches, in dependency order. - --- @table "COGS ACT" --- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" -CREATE OR REPLACE TEMP TABLE "COGS ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Standard Cost Plan" --- Standard Cost Plan = if(hasValue("Standard Cost IN"), "Standard Cost IN", "IMPORT Standard Cost") -CREATE OR REPLACE TEMP TABLE "Standard Cost Plan" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."SKU" AS "SKU", m_1."Versions" AS "Versions", p0."Years" AS "Years", p0.v AS p0_v FROM (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5]) AS "Versions") m_1) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Uncosted Volume" --- CHECK Uncosted Volume = if(not(hasValue("IMPORT Standard Cost")), "Volume ACT") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) r0 ON r0."SKU" = d."SKU" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Standard Discounts.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Standard Discounts.sql deleted file mode 100644 index 7a34a2a..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Standard Discounts.sql +++ /dev/null @@ -1,679 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Standard Discounts: the 80 calculated tables it reaches, in dependency order. - --- @table "Standard Discounts ACT" --- Standard Discounts ACT = "IMPORT Standard Discounts" -CREATE OR REPLACE TEMP TABLE "Standard Discounts ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Standard Discounts" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT" --- Invoice Sales ACT = "Gross Sales ACT" - "Standard Discounts ACT" - "Promo Discounts ACT" - "Logistics Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) r0 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) r1 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) r2 UNION ALL SELECT "Customer", "SKU", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) r3) u -GROUP BY u."Customer", u."SKU", u."Years", u."Months"; - --- @table "Invoice Sales ACT by Group" --- Invoice Sales ACT by Group = "Invoice Sales ACT" -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Group Key ACT" --- Group Key ACT = if(gt("Invoice Sales ACT by Group", 0), "Invoice Sales ACT" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Group Key ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales ACT by Group" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates ACT" --- Rebates ACT = "Rebate Expense ACT" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Rebates ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Expense ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus ACT" --- Growth Bonus ACT = "IMPORT Growth Bonus" * "Group Key ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Group Key ACT" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "IMPORT Growth Bonus" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated ACT" --- Rebates Unallocated ACT = "Rebate Expense ACT" - "Rebates ACT" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Expense ACT" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Rebates ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Growth Bonus Unallocated ACT" --- Growth Bonus Unallocated ACT = "IMPORT Growth Bonus" - "Growth Bonus ACT" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated ACT" AS -SELECT u."Customer Group" AS "Customer Group", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Growth Bonus" s) r0 UNION ALL SELECT "Customer Group", "Years", "Months", -v AS v FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", s."Months", u0."Customer Group") r1) u -GROUP BY u."Customer Group", u."Years", u."Months"; - --- @table "Standard Discounts ACT by Group Brand" --- Standard Discounts ACT by Group Brand = "Standard Discounts ACT" -CREATE OR REPLACE TEMP TABLE "Standard Discounts ACT by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts ACT" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate ACT" --- Standard Discount Rate ACT = if(gt("Gross Sales ACT by Group Brand", 0), "Standard Discounts ACT by Group Brand" / "Gross Sales ACT by Group Brand") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT by Group Brand" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT by Group Brand" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Brand" = d."Brand" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate ACT" --- Rebate Rate ACT = if(gt("Invoice Sales ACT by Group", 0), "IMPORT Rebates" / "Invoice Sales ACT by Group") -CREATE OR REPLACE TEMP TABLE "Rebate Rate ACT" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.v IS NULL OR d.v = 0 THEN NULL ELSE coalesce(r1.v, 0) / d.v END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales ACT by Group" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Rebates" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" AND r1."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales ACT LY" --- Invoice Sales ACT LY = delay("Invoice Sales ACT", 12) -CREATE OR REPLACE TEMP TABLE "Invoice Sales ACT LY" AS -SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v -FROM "Invoice Sales ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; - --- @table "Invoice Sales LY by Group" --- Invoice Sales LY by Group = "Invoice Sales ACT LY" -CREATE OR REPLACE TEMP TABLE "Invoice Sales LY by Group" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales ACT LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Reset" --- Standard Discount Rate Reset = if(eq("FC Closed IN", 1), "Standard Discount Rate ACT") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Standard Discount Rate Carry" --- Standard Discount Rate Carry = cumsum(0, 0, "Standard Discount Rate Reset") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Brand" AS "Brand", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Standard Discount Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Brand", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Brand", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Brand" AS "Brand", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Brand" AS "Brand", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Brand" = g."Brand" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Standard Discount Rate" --- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Reset" --- Rebate Rate Reset = if(eq("FC Closed IN", 1), "Rebate Rate ACT") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Reset" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Closed IN" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebate Rate Carry" --- Rebate Rate Carry = cumsum(0, 0, "Rebate Rate Reset") -CREATE OR REPLACE TEMP TABLE "Rebate Rate Carry" AS -WITH s AS (SELECT x."Customer Group" AS "Customer Group", x."Versions" AS "Versions", x."Years" AS "Years", x."Months" AS "Months", x.v AS v, p.p AS p FROM "Rebate Rate Reset" x JOIN period p ON p."Years" = x."Years" AND p."Months" = x."Months"), -f0 AS (SELECT "Customer Group", "Versions", min(p) AS p0 FROM s GROUP BY "Customer Group", "Versions"), -g AS (SELECT f."Customer Group" AS "Customer Group", f."Versions" AS "Versions", p."Years" AS "Years", p."Months" AS "Months", p.p AS p FROM f0 f CROSS JOIN period p WHERE p.p >= f.p0) -SELECT g."Customer Group" AS "Customer Group", g."Versions" AS "Versions", g."Years" AS "Years", g."Months" AS "Months", s.v AS v -FROM g ASOF JOIN s ON s."Customer Group" = g."Customer Group" AND s."Versions" = g."Versions" AND g.p >= s.p; - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated" --- Rebates Unallocated = if(eq("FC Actual", 1), "Rebates Unallocated ACT") -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Rebates Unallocated by Country" --- Rebates Unallocated by Country = "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "Rebates Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates Unallocated" --- PL Rebates Unallocated = -1 * "Rebates Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Rebates Unallocated" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Rebates Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Trade Fees.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Trade Fees.sql deleted file mode 100644 index 9f3f36c..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Trade Fees.sql +++ /dev/null @@ -1,208 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Trade Fees: the 26 calculated tables it reaches, in dependency order. - --- @table "Trade Fees Pool" --- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") -CREATE OR REPLACE TEMP TABLE "Trade Fees Pool" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Unit Weight.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Unit Weight.sql deleted file mode 100644 index 1166d84..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Unit Weight.sql +++ /dev/null @@ -1,156 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Unit Weight: the 20 calculated tables it reaches, in dependency order. - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/IMPORT Volume.sql b/systems/duckdb-tables/sql/rebuild/IMPORT Volume.sql deleted file mode 100644 index 7071183..0000000 --- a/systems/duckdb-tables/sql/rebuild/IMPORT Volume.sql +++ /dev/null @@ -1,860 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to IMPORT Volume: the 98 calculated tables it reaches, in dependency order. - --- @table "Volume ACT" --- Volume ACT = "IMPORT Volume" -CREATE OR REPLACE TEMP TABLE "Volume ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Years" AS "Years", s."Months" AS "Months", u0."SKU" AS "SKU", sum(s.v) AS v FROM "IMPORT Volume" s JOIN "flat Material" u0 ON u0."Material" = s."Material" GROUP BY s."Customer", s."Years", s."Months", u0."SKU") d -) WHERE v IS NOT NULL; - --- @table "COGS ACT" --- COGS ACT = "Volume ACT" * "IMPORT Standard Cost" * "IMPORT FX Rate" -CREATE OR REPLACE TEMP TABLE "COGS ACT" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p1 ON p1."SKU" = p0."SKU" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "IMPORT FX Rate" s) p2 ON p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume LY" --- Volume LY = delay("Volume ACT", 12) -CREATE OR REPLACE TEMP TABLE "Volume LY" AS -SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", q."Years" AS "Years", q."Months" AS "Months", s.v AS v -FROM "Volume ACT" s JOIN period p ON p."Years" = s."Years" AND p."Months" = s."Months" JOIN period q ON q.p = p.p + 12; - --- @table "Volume LY Plan" --- Volume LY Plan = if(eq("FC Plan", 1), "Volume LY") -CREATE OR REPLACE TEMP TABLE "Volume LY Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Volume Growth Baseline" --- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") -CREATE OR REPLACE TEMP TABLE "Volume Growth Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d - JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" -) WHERE v IS NOT NULL; - --- @table "Volume LY by Group Category" --- Volume LY by Group Category = "Volume LY" -CREATE OR REPLACE TEMP TABLE "Volume LY by Group Category" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Category" AS "Category", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Years" AS "Years", u0."Customer Group" AS "Customer Group", u1."Category" AS "Category", sum(s.v) AS v FROM "Volume LY" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Years", u0."Customer Group", u1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Target Key" --- Volume Target Key = if(gt("Volume LY by Group Category", 0), "Volume LY Plan" / "Volume LY by Group Category") -CREATE OR REPLACE TEMP TABLE "Volume Target Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume LY by Group Category" s) p1 ON p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Target Cascade" --- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" -CREATE OR REPLACE TEMP TABLE "Volume Target Cascade" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Baseline" --- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Volume" --- CHECK Uncosted Volume = if(not(hasValue("IMPORT Standard Cost")), "Volume ACT") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) r0 ON r0."SKU" = d."SKU" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Logistics Discount IN.sql b/systems/duckdb-tables/sql/rebuild/Logistics Discount IN.sql deleted file mode 100644 index d21c4bc..0000000 --- a/systems/duckdb-tables/sql/rebuild/Logistics Discount IN.sql +++ /dev/null @@ -1,506 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Logistics Discount IN: the 59 calculated tables it reaches, in dependency order. - --- @table "Logistics Discount Rate" --- Logistics Discount Rate = if(hasValue("Logistics Discount IN"), "Logistics Discount IN", "Logistics Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Logistics Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Marketing Spend IN.sql b/systems/duckdb-tables/sql/rebuild/Marketing Spend IN.sql deleted file mode 100644 index 30286e3..0000000 --- a/systems/duckdb-tables/sql/rebuild/Marketing Spend IN.sql +++ /dev/null @@ -1,149 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Marketing Spend IN: the 18 calculated tables it reaches, in dependency order. - --- @table "Marketing Spend Plan" --- Marketing Spend Plan = if(eq("FC Plan", 1), "Marketing Spend IN") -CREATE OR REPLACE TEMP TABLE "Marketing Spend Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan EUR" --- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan EUR" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing Split" --- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" -CREATE OR REPLACE TEMP TABLE "CHECK Marketing Split" AS -SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u -GROUP BY u."Brand", u."Versions", u."Years", u."Months"; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Marketing Split IN.sql b/systems/duckdb-tables/sql/rebuild/Marketing Split IN.sql deleted file mode 100644 index 7c4a172..0000000 --- a/systems/duckdb-tables/sql/rebuild/Marketing Split IN.sql +++ /dev/null @@ -1,149 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Marketing Split IN: the 18 calculated tables it reaches, in dependency order. - --- @table "Marketing Split Monthly" --- Marketing Split Monthly = "Marketing Split IN" -CREATE OR REPLACE TEMP TABLE "Marketing Split Monthly" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.p0_v AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", m_4."Months" AS "Months", p0.v AS p0_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Marketing Split IN" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) AS "Months") m_4) d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan EUR" --- Marketing Plan EUR = "Marketing Split Monthly" * "Marketing Spend Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan EUR" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Split Monthly" s) p0 JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Marketing Plan" --- Marketing Plan = "Marketing Plan EUR" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "Marketing Plan" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) p0 JOIN "flat Country" g_1 ON g_1."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_1."Currency") d -) WHERE v IS NOT NULL; - --- @table "Marketing Pool" --- Marketing Pool = if(eq("FC Actual", 1), "IMPORT Marketing", "Marketing Plan") -CREATE OR REPLACE TEMP TABLE "Marketing Pool" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Country" AS "Country", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Marketing" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Marketing Split" --- CHECK Marketing Split = "Marketing Spend Plan" - "Marketing Plan EUR" -CREATE OR REPLACE TEMP TABLE "CHECK Marketing Split" AS -SELECT u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Spend Plan" s) r0 UNION ALL SELECT "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Plan EUR" s GROUP BY s."Brand", s."Versions", s."Years", s."Months") r1) u -GROUP BY u."Brand", u."Versions", u."Years", u."Months"; - --- @table "CHECK Marketing without FX Rate" --- CHECK Marketing without FX Rate = if(not(gt("FX Rate Plan", 0)), "Marketing Plan EUR") -CREATE OR REPLACE TEMP TABLE "CHECK Marketing without FX Rate" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Plan EUR" s) d - JOIN "flat Country" f_1 ON f_1."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_1."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/OPEX IN.sql b/systems/duckdb-tables/sql/rebuild/OPEX IN.sql deleted file mode 100644 index 266dcb5..0000000 --- a/systems/duckdb-tables/sql/rebuild/OPEX IN.sql +++ /dev/null @@ -1,201 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to OPEX IN: the 25 calculated tables it reaches, in dependency order. - --- @table "OPEX Plan" --- OPEX Plan = if(eq("FC Plan", 1), "OPEX IN") -CREATE OR REPLACE TEMP TABLE "OPEX Plan" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "OPEX" --- OPEX = if(eq("FC Actual", 1), "IMPORT OPEX", "OPEX Plan") -CREATE OR REPLACE TEMP TABLE "OPEX" AS -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Cost Center" AS "Cost Center", p0."Account" AS "Account", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT OPEX" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Cost Center" AS "Cost Center", d."Account" AS "Account", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Cost Center" AS "Cost Center", s."Account" AS "Account", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Pool" --- Logistics Pool = sum("OPEX", Function>Logistics) -CREATE OR REPLACE TEMP TABLE "Logistics Pool" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 2 GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Sales Force Pool" --- Sales Force Pool = sum("OPEX", Function>Sales) -CREATE OR REPLACE TEMP TABLE "Sales Force Pool" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE u0."Function" = 5 GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Overheads" --- Overheads = sum("OPEX", not(or(Function>Logistics, Function>Sales))) -CREATE OR REPLACE TEMP TABLE "Overheads" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" WHERE (NOT (u0."Function" = 2 OR u0."Function" = 5)) GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Overheads" --- PL Overheads = -1 * "Overheads" -CREATE OR REPLACE TEMP TABLE "PL Overheads" AS -SELECT * FROM ( - SELECT 14 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "OPEX by Country" --- OPEX by Country = "OPEX" -CREATE OR REPLACE TEMP TABLE "OPEX by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "OPEX" s JOIN "flat Cost Center" u0 ON u0."Cost Center" = s."Cost Center" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Price Increase IN.sql b/systems/duckdb-tables/sql/rebuild/Price Increase IN.sql deleted file mode 100644 index cdd935a..0000000 --- a/systems/duckdb-tables/sql/rebuild/Price Increase IN.sql +++ /dev/null @@ -1,602 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Price Increase IN: the 69 calculated tables it reaches, in dependency order. - --- @table "List Price Plan" --- List Price Plan = "List Price Carry" * (1 + "Price Increase IN") -CREATE OR REPLACE TEMP TABLE "List Price Plan" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."SKU" AS "SKU", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "List Price Carry" s) d - JOIN "flat SKU" f_0 ON f_0."SKU" = d."SKU" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s.v AS v FROM "Price Increase IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_0."Brand" -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Promo Discount IN.sql b/systems/duckdb-tables/sql/rebuild/Promo Discount IN.sql deleted file mode 100644 index c55091c..0000000 --- a/systems/duckdb-tables/sql/rebuild/Promo Discount IN.sql +++ /dev/null @@ -1,492 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Promo Discount IN: the 58 calculated tables it reaches, in dependency order. - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Promo Funding IN.sql b/systems/duckdb-tables/sql/rebuild/Promo Funding IN.sql deleted file mode 100644 index b4e39de..0000000 --- a/systems/duckdb-tables/sql/rebuild/Promo Funding IN.sql +++ /dev/null @@ -1,185 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Promo Funding IN: the 23 calculated tables it reaches, in dependency order. - --- @table "Promo Funding Plan" --- Promo Funding Plan = if(eq("FC Plan", 1), "Promo Funding IN") -CREATE OR REPLACE TEMP TABLE "Promo Funding Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Promo Funding" --- Promo Funding = if(eq("FC Actual", 1), "Promo Funding ACT", "Promo Funding Plan") -CREATE OR REPLACE TEMP TABLE "Promo Funding" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Funding" --- PL Promo Funding = -1 * "Promo Funding" -CREATE OR REPLACE TEMP TABLE "PL Promo Funding" AS -SELECT * FROM ( - SELECT 9 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Funding" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Rebate Rate IN.sql b/systems/duckdb-tables/sql/rebuild/Rebate Rate IN.sql deleted file mode 100644 index 38e4ed9..0000000 --- a/systems/duckdb-tables/sql/rebuild/Rebate Rate IN.sql +++ /dev/null @@ -1,199 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Rebate Rate IN: the 24 calculated tables it reaches, in dependency order. - --- @table "Rebate Rate" --- Rebate Rate = if(hasValue("Rebate Rate IN"), "Rebate Rate IN", "Rebate Rate Carry") -CREATE OR REPLACE TEMP TABLE "Rebate Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebate Rate IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Standard Cost IN.sql b/systems/duckdb-tables/sql/rebuild/Standard Cost IN.sql deleted file mode 100644 index 098bc3c..0000000 --- a/systems/duckdb-tables/sql/rebuild/Standard Cost IN.sql +++ /dev/null @@ -1,131 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Standard Cost IN: the 15 calculated tables it reaches, in dependency order. - --- @table "Standard Cost Plan" --- Standard Cost Plan = if(hasValue("Standard Cost IN"), "Standard Cost IN", "IMPORT Standard Cost") -CREATE OR REPLACE TEMP TABLE "Standard Cost Plan" AS -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."SKU" AS "SKU", m_1."Versions" AS "Versions", p0."Years" AS "Years", p0.v AS p0_v FROM (SELECT s."SKU" AS "SKU", s."Years" AS "Years", s.v AS v FROM "IMPORT Standard Cost" s) p0 CROSS JOIN (SELECT unnest([1, 2, 3, 4, 5]) AS "Versions") m_1) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost IN" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Standard Discount IN.sql b/systems/duckdb-tables/sql/rebuild/Standard Discount IN.sql deleted file mode 100644 index 6aa19ba..0000000 --- a/systems/duckdb-tables/sql/rebuild/Standard Discount IN.sql +++ /dev/null @@ -1,506 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Standard Discount IN: the 59 calculated tables it reaches, in dependency order. - --- @table "Standard Discount Rate" --- Standard Discount Rate = if(hasValue("Standard Discount IN"), "Standard Discount IN", "Standard Discount Rate Carry") -CREATE OR REPLACE TEMP TABLE "Standard Discount Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount Rate Carry" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discount IN" s) r0 ON r0."Customer Group" = d."Customer Group" AND r0."Brand" = d."Brand" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Trade Fees IN.sql b/systems/duckdb-tables/sql/rebuild/Trade Fees IN.sql deleted file mode 100644 index 8f5253f..0000000 --- a/systems/duckdb-tables/sql/rebuild/Trade Fees IN.sql +++ /dev/null @@ -1,216 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Trade Fees IN: the 27 calculated tables it reaches, in dependency order. - --- @table "Trade Fees Plan" --- Trade Fees Plan = if(eq("FC Plan", 1), "Trade Fees IN") -CREATE OR REPLACE TEMP TABLE "Trade Fees Plan" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees IN" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Pool" --- Trade Fees Pool = if(eq("FC Actual", 1), "IMPORT Trade Fees", "Trade Fees Plan") -CREATE OR REPLACE TEMP TABLE "Trade Fees Pool" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer Group" AS "Customer Group", p0."Brand" AS "Brand", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "IMPORT Trade Fees" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Volume Growth IN.sql b/systems/duckdb-tables/sql/rebuild/Volume Growth IN.sql deleted file mode 100644 index fac009c..0000000 --- a/systems/duckdb-tables/sql/rebuild/Volume Growth IN.sql +++ /dev/null @@ -1,797 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Volume Growth IN: the 90 calculated tables it reaches, in dependency order. - --- @table "Volume Growth Baseline" --- Volume Growth Baseline = "Volume LY Plan" * (1 + "Volume Growth IN") -CREATE OR REPLACE TEMP TABLE "Volume Growth Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r1.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r1.v, 0) END)) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume LY Plan" s) d - JOIN "flat SKU" f_1 ON f_1."SKU" = d."SKU" - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Brand" AS "Brand", s."Channel" AS "Channel", s.v AS v FROM "Volume Growth IN" s) r1 ON r1."Versions" = d."Versions" AND r1."Years" = d."Years" AND r1."Brand" = f_1."Brand" AND r1."Channel" = f_0."Channel" -) WHERE v IS NOT NULL; - --- @table "Volume Baseline" --- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Volume Override IN.sql b/systems/duckdb-tables/sql/rebuild/Volume Override IN.sql deleted file mode 100644 index decf3ed..0000000 --- a/systems/duckdb-tables/sql/rebuild/Volume Override IN.sql +++ /dev/null @@ -1,772 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Volume Override IN: the 88 calculated tables it reaches, in dependency order. - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/sql/rebuild/Volume Target IN.sql b/systems/duckdb-tables/sql/rebuild/Volume Target IN.sql deleted file mode 100644 index 18030a2..0000000 --- a/systems/duckdb-tables/sql/rebuild/Volume Target IN.sql +++ /dev/null @@ -1,794 +0,0 @@ --- Generated by model/lib/sql/generate.mjs. Run after a write to Volume Target IN: the 90 calculated tables it reaches, in dependency order. - --- @table "Volume Target Cascade" --- Volume Target Cascade = "Volume Target IN" * "Volume Target Key" -CREATE OR REPLACE TEMP TABLE "Volume Target Cascade" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s."Category" AS "Category", s.v AS v FROM "Volume Target IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" AND p1."Category" = g_1."Category") d -) WHERE v IS NOT NULL; - --- @table "Volume Baseline" --- Volume Baseline = if(hasValue("Volume Target Cascade"), "Volume Target Cascade", "Volume Growth Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Baseline" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Growth Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Target Cascade" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Planned" --- Volume Planned = if(hasValue("Volume Override IN"), "Volume Override IN", "Volume Baseline") -CREATE OR REPLACE TEMP TABLE "Volume Planned" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (d.v IS NOT NULL) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Baseline" s) d - LEFT JOIN (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Override IN" s) r0 ON r0."Customer" = d."Customer" AND r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume Plan" --- Volume Plan = if(eq("FC Plan", 1), "Volume Planned") -CREATE OR REPLACE TEMP TABLE "Volume Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Planned" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales Plan" --- Gross Sales Plan = "Volume Plan" * "List Price Plan" -CREATE OR REPLACE TEMP TABLE "Gross Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Standard Discounts Plan" --- Standard Discounts Plan = "Gross Sales Plan" * "Standard Discount Rate" -CREATE OR REPLACE TEMP TABLE "Standard Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Standard Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Promo Discounts Plan" --- Promo Discounts Plan = "Gross Sales Plan" * "Promo Discount IN" -CREATE OR REPLACE TEMP TABLE "Promo Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Promo Discount IN" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts Plan" --- Logistics Discounts Plan = "Gross Sales Plan" * "Logistics Discount Rate" -CREATE OR REPLACE TEMP TABLE "Logistics Discounts Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Logistics Discount Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "COGS Plan" --- COGS Plan = "Volume Plan" * "Standard Cost Plan" * "FX Rate Plan" -CREATE OR REPLACE TEMP TABLE "COGS Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((d.p0_v * d.p1_v) * d.p2_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) p0 JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) p1 ON p1."SKU" = p0."SKU" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate Plan" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Months" = p0."Months" AND p2."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "Gross Sales" --- Gross Sales = if(eq("FC Actual", 1), "Gross Sales ACT", "Gross Sales Plan") -CREATE OR REPLACE TEMP TABLE "Gross Sales" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Standard Discounts" --- Standard Discounts = if(eq("FC Actual", 1), "Standard Discounts ACT", "Standard Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Standard Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Promo Discounts" --- Promo Discounts = if(eq("FC Actual", 1), "Promo Discounts ACT", "Promo Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Promo Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Logistics Discounts" --- Logistics Discounts = if(eq("FC Actual", 1), "Logistics Discounts ACT", "Logistics Discounts Plan") -CREATE OR REPLACE TEMP TABLE "Logistics Discounts" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales" --- Invoice Sales = "Gross Sales" - "Standard Discounts" - "Promo Discounts" - "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "Invoice Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Standard Discounts" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Discounts" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Discounts" s) r3) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Plan" --- Invoice Sales Plan = if(eq("FC Plan", 1), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL; - --- @table "Rebates Plan" --- Rebates Plan = "Invoice Sales Plan" * "Rebate Rate" -CREATE OR REPLACE TEMP TABLE "Rebates Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s.v AS v FROM "Rebate Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Year" --- Invoice Sales by Group Year = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Rate" --- Growth Bonus Rate = if(hasValue("Growth Bonus Rate IN"), if(gt("Invoice Sales LY by Group", 0), if(gt("Invoice Sales by Group Year", "Invoice Sales LY by Group" * (1 + "Growth Bonus Threshold IN")), "Growth Bonus Rate IN", 0), 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Rate" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (coalesce(r2.v, 0) > coalesce((r1.v * (CASE WHEN CAST(1 AS DOUBLE) IS NULL AND r3.v IS NULL THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) + coalesce(r3.v, 0) END)), 0)) THEN d.v ELSE CAST(0 AS DOUBLE) END) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate IN" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s.v AS v FROM "Invoice Sales LY by Group" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Threshold IN" s) r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Entitlement" --- Growth Bonus Entitlement = if(hasValue("Growth Bonus Rate"), if(gt("Growth Bonus Rate", 0), "Invoice Sales by Group Year" * "Growth Bonus Rate", 0)) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Entitlement" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (d.v IS NOT NULL) THEN (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (r1.v * d.v) ELSE CAST(0 AS DOUBLE) END) ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Rate" s) d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Plan by Group Year" --- Invoice Sales Plan by Group Year = "Invoice Sales Plan" -CREATE OR REPLACE TEMP TABLE "Invoice Sales Plan by Group Year" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Invoice Sales Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Remaining" --- Growth Bonus Remaining = if(gt("FC Plan Months", 0), if(hasValue("Growth Bonus Entitlement"), "Growth Bonus Entitlement" - "Growth Bonus Booked")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Remaining" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN (r1.v IS NOT NULL) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) END) ELSE NULL END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p1 ON p1."Customer Group" = p0."Customer Group" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan" --- Growth Bonus Plan = if(gt("Invoice Sales Plan by Group Year", 0), "Growth Bonus Remaining" * ("Invoice Sales Plan" / "Invoice Sales Plan by Group Year")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (d.p2_v * (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END)) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Plan" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Invoice Sales Plan by Group Year" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Customer Group" = g_0."Customer Group" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Customer Group" AS "Customer Group", s.v AS v FROM "Growth Bonus Remaining" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years" AND p2."Customer Group" = g_0."Customer Group") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Plan Unallocated" --- Growth Bonus Plan Unallocated = if(and(eq("FC Plan", 1), not(gt("Invoice Sales Plan by Group Year", 0))), "Growth Bonus Remaining" * (1 / "FC Plan Months")) -CREATE OR REPLACE TEMP TABLE "Growth Bonus Plan Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN ((coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) AND (NOT (coalesce(r1.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)))) THEN (d.p1_v * (CASE WHEN d.p2_v IS NULL OR d.p2_v = 0 THEN NULL ELSE coalesce(CAST(1 AS DOUBLE), 0) / d.p2_v END)) ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v, p2.v AS p2_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Plan" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Remaining" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p2 ON p2."Versions" = p0."Versions" AND p2."Years" = p0."Years") d - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Invoice Sales Plan by Group Year" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "Volume" --- Volume = if(eq("FC Actual", 1), "Volume ACT", "Volume Plan") -CREATE OR REPLACE TEMP TABLE "Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "COGS" --- COGS = if(eq("FC Actual", 1), "COGS ACT", "COGS Plan") -CREATE OR REPLACE TEMP TABLE "COGS" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Rebates" --- Rebates = if(eq("FC Actual", 1), "Rebates ACT", "Rebates Plan") -CREATE OR REPLACE TEMP TABLE "Rebates" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus" --- Growth Bonus = if(eq("FC Actual", 1), "Growth Bonus ACT", "Growth Bonus Plan") -CREATE OR REPLACE TEMP TABLE "Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p1."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus ACT" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated" --- Growth Bonus Unallocated = if(eq("FC Actual", 1), "Growth Bonus Unallocated ACT", "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p0_v, 0) = coalesce(CAST(1 AS DOUBLE), 0)) THEN d.p1_v ELSE NULL END) AS v - FROM (SELECT p1."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) p0 JOIN (SELECT s."Customer Group" AS "Customer Group", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated ACT" s) p1 ON p1."Years" = p0."Years" AND p1."Months" = p0."Months") d -) WHERE v IS NOT NULL -UNION ALL -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) = coalesce(CAST(1 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Plan Unallocated" s) d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "FC Actual" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" -) WHERE v IS NOT NULL; - --- @table "Volume KG" --- Volume KG = "Volume" * "IMPORT Unit Weight" -CREATE OR REPLACE TEMP TABLE "Volume KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) p0 JOIN (SELECT s."SKU" AS "SKU", s.v AS v FROM "IMPORT Unit Weight" s) p1 ON p1."SKU" = p0."SKU") d -) WHERE v IS NOT NULL; - --- @table "Handling KG" --- Handling KG = "Volume KG" * "IMPORT Handling Factor" -CREATE OR REPLACE TEMP TABLE "Handling KG" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p0_v * d.p1_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume KG" s) p0 JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Temperature Zone" AS "Temperature Zone", s.v AS v FROM "IMPORT Handling Factor" s) p1 ON p1."Temperature Zone" = g_1."Temperature Zone") d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales Positive" --- Invoice Sales Positive = if(gt("Invoice Sales", 0), "Invoice Sales") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Group Brand" --- Invoice Sales by Group Brand = "Invoice Sales Positive" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Group Brand" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Key" --- Trade Fees Key = if(gt("Invoice Sales by Group Brand", 0), "Invoice Sales Positive" / "Invoice Sales by Group Brand") -CREATE OR REPLACE TEMP TABLE "Trade Fees Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Invoice Sales by Group Brand" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees" --- Trade Fees = "Trade Fees Pool" * "Trade Fees Key" -CREATE OR REPLACE TEMP TABLE "Trade Fees" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."SKU" AS "SKU", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN "flat SKU" g_1 ON g_1."SKU" = p0."SKU" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s.v AS v FROM "Trade Fees Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Customer Group" = g_0."Customer Group" AND p1."Brand" = g_1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated" --- Trade Fees Unallocated = "Trade Fees Pool" - "Trade Fees" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated" AS -SELECT u."Customer Group" AS "Customer Group", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer Group", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer Group" AS "Customer Group", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Pool" s) r0 UNION ALL SELECT "Customer Group", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Customer Group" AS "Customer Group", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Customer Group", u1."Brand") r1) u -GROUP BY u."Customer Group", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales" --- Net Sales = "Invoice Sales" - "Rebates" - "Growth Bonus" - "Trade Fees" - "Promo Funding" -CREATE OR REPLACE TEMP TABLE "Net Sales" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates" s) r1 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus" s) r2 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees" s) r3 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Promo Funding" s) r4) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Gross Margin" --- Gross Margin = "Net Sales" - "COGS" -CREATE OR REPLACE TEMP TABLE "Gross Margin" AS -SELECT u."Customer" AS "Customer", u."SKU" AS "SKU", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "SKU", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales" s) r0 UNION ALL SELECT "Customer", "SKU", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "COGS" s) r1) u -GROUP BY u."Customer", u."SKU", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales by Customer Brand" --- Invoice Sales by Customer Brand = "Invoice Sales" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Invoice Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Customer Brand" --- Net Sales by Customer Brand = "Net Sales" -CREATE OR REPLACE TEMP TABLE "Net Sales by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Net Sales" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Gross Margin by Customer Brand" --- Gross Margin by Customer Brand = "Gross Margin" -CREATE OR REPLACE TEMP TABLE "Gross Margin by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Margin" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Customer Brand" --- Handling KG by Customer Brand = "Handling KG" -CREATE OR REPLACE TEMP TABLE "Handling KG by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Customer" AS "Customer", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Brand" AS "Brand", sum(s.v) AS v FROM "Handling KG" s JOIN "flat SKU" u0 ON u0."SKU" = s."SKU" GROUP BY s."Customer", s."Versions", s."Years", s."Months", u0."Brand") d -) WHERE v IS NOT NULL; - --- @table "Handling KG Positive" --- Handling KG Positive = if(gt("Handling KG by Customer Brand", 0), "Handling KG by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Handling KG Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Handling KG by Country" --- Handling KG by Country = "Handling KG Positive" -CREATE OR REPLACE TEMP TABLE "Handling KG by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Handling KG Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Key" --- Logistics Key = if(gt("Handling KG by Country", 0), "Handling KG Positive" / "Handling KG by Country") -CREATE OR REPLACE TEMP TABLE "Logistics Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Handling KG Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Handling KG by Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Cost" --- Logistics Cost = "Logistics Pool" * "Logistics Key" -CREATE OR REPLACE TEMP TABLE "Logistics Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Logistics Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Logistics Unallocated" --- Logistics Unallocated = "Logistics Pool" - "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "Logistics Unallocated" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Pool" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "Invoice Sales Positive by Customer Brand" --- Invoice Sales Positive by Customer Brand = if(gt("Invoice Sales by Customer Brand", 0), "Invoice Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Invoice Sales Positive by Customer Brand" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Invoice Sales by Channel Country" --- Invoice Sales by Channel Country = "Invoice Sales Positive by Customer Brand" -CREATE OR REPLACE TEMP TABLE "Invoice Sales by Channel Country" AS -SELECT * FROM ( - SELECT d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Invoice Sales Positive by Customer Brand" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Key" --- Sales Force Key = if(gt("Invoice Sales by Channel Country", 0), "Invoice Sales Positive by Customer Brand" / "Invoice Sales by Channel Country") -CREATE OR REPLACE TEMP TABLE "Sales Force Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Invoice Sales Positive by Customer Brand" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Invoice Sales by Channel Country" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Cost" --- Sales Force Cost = "Sales Force Pool" * "Sales Force Key" -CREATE OR REPLACE TEMP TABLE "Sales Force Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Channel" AS "Channel", s."Country" AS "Country", s.v AS v FROM "Sales Force Pool" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Channel" = g_0."Channel" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Sales Force Unallocated" --- Sales Force Unallocated = "Sales Force Pool" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Sales Force Unallocated" AS -SELECT u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Pool" s) r0 UNION ALL SELECT "Channel", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") r1) u -GROUP BY u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin II" --- Contribution Margin II = "Gross Margin by Customer Brand" - "Logistics Cost" - "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin II" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Gross Margin by Customer Brand" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Cost" s) r1 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Cost" s) r2) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Net Sales Positive" --- Net Sales Positive = if(gt("Net Sales by Customer Brand", 0), "Net Sales by Customer Brand") -CREATE OR REPLACE TEMP TABLE "Net Sales Positive" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales by Customer Brand" s) d -) WHERE v IS NOT NULL; - --- @table "Net Sales by Brand Country" --- Net Sales by Brand Country = "Net Sales Positive" -CREATE OR REPLACE TEMP TABLE "Net Sales by Brand Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Net Sales Positive" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Key" --- Marketing Key = if(gt("Net Sales by Brand Country", 0), "Net Sales Positive" / "Net Sales by Brand Country") -CREATE OR REPLACE TEMP TABLE "Marketing Key" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Net Sales Positive" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Net Sales by Brand Country" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Cost" --- Marketing Cost = "Marketing Pool" * "Marketing Key" -CREATE OR REPLACE TEMP TABLE "Marketing Cost" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."Brand" AS "Brand", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (d.p1_v * d.p0_v) AS v - FROM (SELECT p0."Customer" AS "Customer", p0."Brand" AS "Brand", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Key" s) p0 JOIN "flat Customer" g_0 ON g_0."Customer" = p0."Customer" JOIN (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "Marketing Pool" s) p1 ON p1."Brand" = p0."Brand" AND p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Country" = g_0."Country") d -) WHERE v IS NOT NULL; - --- @table "Marketing Unallocated" --- Marketing Unallocated = "Marketing Pool" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Marketing Unallocated" AS -SELECT u."Brand" AS "Brand", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Brand", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Pool" s) r0 UNION ALL SELECT "Brand", "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Country") r1) u -GROUP BY u."Brand", u."Country", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III" --- Contribution Margin III = "Contribution Margin II" - "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III" AS -SELECT u."Customer" AS "Customer", u."Brand" AS "Brand", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Customer", "Brand", "Versions", "Years", "Months", v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin II" s) r0 UNION ALL SELECT "Customer", "Brand", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Customer" AS "Customer", s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Cost" s) r1) u -GROUP BY u."Customer", u."Brand", u."Versions", u."Years", u."Months"; - --- @table "Contribution Margin III by Country" --- Contribution Margin III by Country = "Contribution Margin III" -CREATE OR REPLACE TEMP TABLE "Contribution Margin III by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Contribution Margin III" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Trade Fees Unallocated by Country" --- Trade Fees Unallocated by Country = "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "Trade Fees Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Growth Bonus Unallocated by Country" --- Growth Bonus Unallocated by Country = "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "Growth Bonus Unallocated by Country" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "Unallocated by Country" --- Unallocated by Country = "Rebates Unallocated by Country" + "Growth Bonus Unallocated by Country" + "Trade Fees Unallocated by Country" + "Logistics Unallocated" + "Sales Force Unallocated" + "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "Unallocated by Country" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Rebates Unallocated by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Growth Bonus Unallocated by Country" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Trade Fees Unallocated by Country" s) r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Marketing Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT OUT" --- EBIT OUT = "Contribution Margin III by Country" - "Overheads" - "Unallocated by Country" -CREATE OR REPLACE TEMP TABLE "EBIT OUT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Contribution Margin III by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Unallocated by Country" s) r2) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "EBIT EUR OUT" --- EBIT EUR OUT = if(gt("FX Rate", 0), "EBIT OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "EBIT EUR OUT" AS -SELECT * FROM ( - SELECT d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "EBIT OUT" s) p0 JOIN "flat Country" g_0 ON g_0."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_0."Currency") d -) WHERE v IS NOT NULL; - --- @table "PL Gross Sales" --- PL Gross Sales = "Gross Sales" -CREATE OR REPLACE TEMP TABLE "PL Gross Sales" AS -SELECT * FROM ( - SELECT 2 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Standard Discounts" --- PL Standard Discounts = -1 * "Standard Discounts" -CREATE OR REPLACE TEMP TABLE "PL Standard Discounts" AS -SELECT * FROM ( - SELECT 3 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Standard Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Promo Discounts" --- PL Promo Discounts = -1 * "Promo Discounts" -CREATE OR REPLACE TEMP TABLE "PL Promo Discounts" AS -SELECT * FROM ( - SELECT 4 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Promo Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Discounts" --- PL Logistics Discounts = -1 * "Logistics Discounts" -CREATE OR REPLACE TEMP TABLE "PL Logistics Discounts" AS -SELECT * FROM ( - SELECT 5 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Logistics Discounts" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Rebates" --- PL Rebates = -1 * "Rebates" -CREATE OR REPLACE TEMP TABLE "PL Rebates" AS -SELECT * FROM ( - SELECT 6 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Rebates" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus" --- PL Growth Bonus = -1 * "Growth Bonus" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees" --- PL Trade Fees = -1 * "Trade Fees" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Trade Fees" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL COGS" --- PL COGS = -1 * "COGS" -CREATE OR REPLACE TEMP TABLE "PL COGS" AS -SELECT * FROM ( - SELECT 10 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics" --- PL Logistics = -1 * "Logistics Cost" -CREATE OR REPLACE TEMP TABLE "PL Logistics" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force" --- PL Sales Force = -1 * "Sales Force Cost" -CREATE OR REPLACE TEMP TABLE "PL Sales Force" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Marketing" --- PL Marketing = -1 * "Marketing Cost" -CREATE OR REPLACE TEMP TABLE "PL Marketing" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Marketing Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Growth Bonus Unallocated" --- PL Growth Bonus Unallocated = -1 * "Growth Bonus Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Growth Bonus Unallocated" AS -SELECT * FROM ( - SELECT 7 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Growth Bonus Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Trade Fees Unallocated" --- PL Trade Fees Unallocated = -1 * "Trade Fees Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Trade Fees Unallocated" AS -SELECT * FROM ( - SELECT 8 AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", sum(s.v) AS v FROM "Trade Fees Unallocated" s JOIN "flat Customer Group" u0 ON u0."Customer Group" = s."Customer Group" GROUP BY s."Brand", s."Versions", s."Years", s."Months", u0."Channel", u0."Country") d -) WHERE v IS NOT NULL; - --- @table "PL Logistics Unallocated" --- PL Logistics Unallocated = -1 * "Logistics Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Logistics Unallocated" AS -SELECT * FROM ( - SELECT 11 AS "PL Line", 1 AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Sales Force Unallocated" --- PL Sales Force Unallocated = -1 * "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Sales Force Unallocated" AS -SELECT * FROM ( - SELECT 12 AS "PL Line", 1 AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Sales Force Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL Marketing Unallocated" --- PL Marketing Unallocated = -1 * "Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL Marketing Unallocated" AS -SELECT * FROM ( - SELECT 13 AS "PL Line", d."Brand" AS "Brand", 4 AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", ((-CAST(1 AS DOUBLE)) * d.v) AS v - FROM (SELECT s."Brand" AS "Brand", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Marketing Unallocated" s) d -) WHERE v IS NOT NULL; - --- @table "PL OUT" --- PL OUT = "PL Gross Sales" + "PL Standard Discounts" + "PL Promo Discounts" + "PL Logistics Discounts" + "PL Rebates" + "PL Growth Bonus" + "PL Trade Fees" + "PL Promo Funding" + "PL COGS" + "PL Logistics" + "PL Sales Force" + "PL Marketing" + "PL Overheads" + "PL Rebates Unallocated" + "PL Growth Bonus Unallocated" + "PL Trade Fees Unallocated" + "PL Logistics Unallocated" + "PL Sales Force Unallocated" + "PL Marketing Unallocated" -CREATE OR REPLACE TEMP TABLE "PL OUT" AS -SELECT u."PL Line" AS "PL Line", u."Brand" AS "Brand", u."Channel" AS "Channel", u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Gross Sales" s) r0 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Standard Discounts" s) r1 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Discounts" s) r2 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Discounts" s) r3 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates" s) r4 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus" s) r5 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees" s) r6 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Promo Funding" s) r7 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL COGS" s) r8 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics" s) r9 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force" s) r10 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing" s) r11 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Overheads" s) r12 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Rebates Unallocated" s) r13 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Growth Bonus Unallocated" s) r14 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Trade Fees Unallocated" s) r15 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Logistics Unallocated" s) r16 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Sales Force Unallocated" s) r17 UNION ALL SELECT "PL Line", "Brand", "Channel", "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL Marketing Unallocated" s) r18) u -GROUP BY u."PL Line", u."Brand", u."Channel", u."Country", u."Versions", u."Years", u."Months"; - --- @table "PL EUR OUT" --- PL EUR OUT = if(gt("FX Rate", 0), "PL OUT" / "FX Rate") -CREATE OR REPLACE TEMP TABLE "PL EUR OUT" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN d.p1_v IS NULL OR d.p1_v = 0 THEN NULL ELSE coalesce(d.p0_v, 0) / d.p1_v END) ELSE NULL END) AS v - FROM (SELECT p0."PL Line" AS "PL Line", p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) p0 JOIN "flat Country" g_3 ON g_3."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_3."Currency") d -) WHERE v IS NOT NULL; - --- @table "Volume by Brand Channel Country" --- Volume by Brand Channel Country = "Volume" -CREATE OR REPLACE TEMP TABLE "Volume by Brand Channel Country" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", d.v AS v - FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Channel" AS "Channel", u0."Country" AS "Country", u1."Brand" AS "Brand", sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" JOIN "flat SKU" u1 ON u1."SKU" = s."SKU" GROUP BY s."Versions", s."Years", s."Months", u0."Channel", u0."Country", u1."Brand") d -) WHERE v IS NOT NULL; - --- @table "Volume for KPIs" --- Volume for KPIs = if(gt("FX Rate", 0), "Volume by Brand Channel Country") -CREATE OR REPLACE TEMP TABLE "Volume for KPIs" AS -SELECT * FROM ( - SELECT d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (coalesce(d.p1_v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN d.p0_v ELSE NULL END) AS v - FROM (SELECT p0."Brand" AS "Brand", p0."Channel" AS "Channel", p0."Country" AS "Country", p0."Versions" AS "Versions", p0."Years" AS "Years", p0."Months" AS "Months", p0.v AS p0_v, p1.v AS p1_v FROM (SELECT s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume by Brand Channel Country" s) p0 JOIN "flat Country" g_2 ON g_2."Country" = p0."Country" JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" AND p1."Months" = p0."Months" AND p1."Currency" = g_2."Currency") d -) WHERE v IS NOT NULL; - --- @table "CHECK Growth Bonus" --- CHECK Growth Bonus = if(gt("FC Plan Months", 0), "Growth Bonus Entitlement" - "Growth Bonus Booked" - "Growth Bonus Plan" - "Growth Bonus Plan Unallocated") -CREATE OR REPLACE TEMP TABLE "CHECK Growth Bonus" AS -SELECT * FROM ( - SELECT d."Customer Group" AS "Customer Group", d."Versions" AS "Versions", d."Years" AS "Years", (CASE WHEN (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0)) THEN (CASE WHEN r1.v IS NULL AND r2.v IS NULL AND r3.v IS NULL AND r4.v IS NULL THEN NULL ELSE coalesce(r1.v, 0) - coalesce(r2.v, 0) - coalesce(r3.v, 0) - coalesce(r4.v, 0) END) ELSE NULL END) AS v - FROM (SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years" UNION SELECT DISTINCT p0."Customer Group" AS "Customer Group", p0."Versions" AS "Versions", p0."Years" AS "Years" FROM (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") p0 JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) p1 ON p1."Versions" = p0."Versions" AND p1."Years" = p0."Years") d - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "FC Plan Months" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Entitlement" s) r1 ON r1."Customer Group" = d."Customer Group" AND r1."Versions" = d."Versions" AND r1."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Growth Bonus Booked" s) r2 ON r2."Customer Group" = d."Customer Group" AND r2."Versions" = d."Versions" AND r2."Years" = d."Years" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", u0."Customer Group" AS "Customer Group", sum(s.v) AS v FROM "Growth Bonus Plan" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", u0."Customer Group") r3 ON r3."Customer Group" = d."Customer Group" AND r3."Versions" = d."Versions" AND r3."Years" = d."Years" - LEFT JOIN (SELECT s."Customer Group" AS "Customer Group", s."Versions" AS "Versions", s."Years" AS "Years", sum(s.v) AS v FROM "Growth Bonus Plan Unallocated" s GROUP BY s."Customer Group", s."Versions", s."Years") r4 ON r4."Customer Group" = d."Customer Group" AND r4."Versions" = d."Versions" AND r4."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK OPEX in EBIT" --- CHECK OPEX in EBIT = "OPEX by Country" - "Overheads" - "Logistics Cost" - "Logistics Unallocated" - "Sales Force Cost" - "Sales Force Unallocated" -CREATE OR REPLACE TEMP TABLE "CHECK OPEX in EBIT" AS -SELECT u."Country" AS "Country", u."Versions" AS "Versions", u."Years" AS "Years", u."Months" AS "Months", sum(u.v) AS v -FROM (SELECT "Country", "Versions", "Years", "Months", v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "OPEX by Country" s) r0 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Overheads" s) r1 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r2 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Logistics Unallocated" s) r3 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", u0."Country" AS "Country", sum(s.v) AS v FROM "Sales Force Cost" s JOIN "flat Customer" u0 ON u0."Customer" = s."Customer" GROUP BY s."Versions", s."Years", s."Months", u0."Country") r4 UNION ALL SELECT "Country", "Versions", "Years", "Months", -v AS v FROM (SELECT s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", sum(s.v) AS v FROM "Sales Force Unallocated" s GROUP BY s."Country", s."Versions", s."Years", s."Months") r5) u -GROUP BY u."Country", u."Versions", u."Years", u."Months"; - --- @table "CHECK Uncosted Plan Volume" --- CHECK Uncosted Plan Volume = if(not(hasValue("Standard Cost Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Uncosted Plan Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s.v AS v FROM "Standard Cost Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" -) WHERE v IS NOT NULL; - --- @table "CHECK Unpriced Volume" --- CHECK Unpriced Volume = if(not(hasValue("List Price Plan")), "Volume Plan") -CREATE OR REPLACE TEMP TABLE "CHECK Unpriced Volume" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (r0.v IS NOT NULL)) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume Plan" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Country" AS "Country", s.v AS v FROM "List Price Plan" s) r0 ON r0."SKU" = d."SKU" AND r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Country" = f_0."Country" -) WHERE v IS NOT NULL; - --- @table "CHECK Volume without FX Rate" --- CHECK Volume without FX Rate = if(not(gt("FX Rate", 0)), "Volume") -CREATE OR REPLACE TEMP TABLE "CHECK Volume without FX Rate" AS -SELECT * FROM ( - SELECT d."Customer" AS "Customer", d."SKU" AS "SKU", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN d.v ELSE NULL END) AS v - FROM (SELECT s."Customer" AS "Customer", s."SKU" AS "SKU", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "Volume" s) d - JOIN "flat Customer" f_0 ON f_0."Customer" = d."Customer" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_0."Currency" -) WHERE v IS NOT NULL; - --- @table "CHECK PL without FX Rate" --- CHECK PL without FX Rate = if(not(gt("FX Rate", 0)), abs("PL OUT")) -CREATE OR REPLACE TEMP TABLE "CHECK PL without FX Rate" AS -SELECT * FROM ( - SELECT d."PL Line" AS "PL Line", d."Brand" AS "Brand", d."Channel" AS "Channel", d."Country" AS "Country", d."Versions" AS "Versions", d."Years" AS "Years", d."Months" AS "Months", (CASE WHEN (NOT (coalesce(r0.v, 0) > coalesce(CAST(0 AS DOUBLE), 0))) THEN abs(d.v) ELSE NULL END) AS v - FROM (SELECT s."PL Line" AS "PL Line", s."Brand" AS "Brand", s."Channel" AS "Channel", s."Country" AS "Country", s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s.v AS v FROM "PL OUT" s) d - JOIN "flat Country" f_3 ON f_3."Country" = d."Country" - LEFT JOIN (SELECT s."Versions" AS "Versions", s."Years" AS "Years", s."Months" AS "Months", s."Currency" AS "Currency", s.v AS v FROM "FX Rate" s) r0 ON r0."Versions" = d."Versions" AND r0."Years" = d."Years" AND r0."Months" = d."Months" AND r0."Currency" = f_3."Currency" -) WHERE v IS NOT NULL; diff --git a/systems/duckdb-tables/tests/c1.mjs b/systems/duckdb-tables/tests/c1.mjs index b1ab452..5b859b2 100644 --- a/systems/duckdb-tables/tests/c1.mjs +++ b/systems/duckdb-tables/tests/c1.mjs @@ -3,10 +3,7 @@ // A planner types a volume into a closed month. Closed months hold the actuals, so the country's EBIT and // the volume itself must not move. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Volume Override IN'); +import { restore, members } from '../db.mjs'; export default { async setup(context) { @@ -15,9 +12,10 @@ export default { }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) - VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) + VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" WHERE "Country" = ${m.id('Country', country)} AND "Versions" = ${m.id('Versions', at.Versions)} AND "Years" = ${m.id('Years', at.Years)}`); diff --git a/systems/duckdb-tables/tests/c3.mjs b/systems/duckdb-tables/tests/c3.mjs index 964cc69..7752da4 100644 --- a/systems/duckdb-tables/tests/c3.mjs +++ b/systems/duckdb-tables/tests/c3.mjs @@ -2,10 +2,7 @@ // // After W1's first write, a typed volume in one country, the EBIT of another country must not move. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Volume Override IN'); +import { restore, members } from '../db.mjs'; export default { async setup(context) { @@ -14,9 +11,10 @@ export default { }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) - VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) + VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" WHERE "Country" = ${m.id('Country', country)} AND "Versions" = ${m.id('Versions', at.Versions)} AND "Years" = ${m.id('Years', at.Years)}`); diff --git a/systems/duckdb-tables/tests/l1.mjs b/systems/duckdb-tables/tests/l1.mjs index 6ac6d6b..5bc796b 100644 --- a/systems/duckdb-tables/tests/l1.mjs +++ b/systems/duckdb-tables/tests/l1.mjs @@ -6,13 +6,12 @@ import fs from 'node:fs'; import path from 'node:path'; -import { sqlFile, connect, fileOf, snapshotOf, sqlFolder } from '../db.mjs'; +import { sqlFile, connect, createState, calculate, fileOf, snapshotOf, sqlFolder } from '../db.mjs'; // The SQL this test runs, read once when the file loads, so no file read is timed. const SCHEMA = sqlFile('schema.sql'); const MEMBERS = sqlFile('members.sql'); const DIMENSIONS = sqlFile('dimensions.sql'); -const CALCULATE = sqlFile('calculate.sql'); const IMPORTS = sqlFolder('import'); export default { @@ -32,6 +31,7 @@ export default { // 2. Create the model: the tables, and the members the model itself brings. await db.run(SCHEMA); + await createState(db); await db.run(MEMBERS); // 3. Import the CSVs: the data's own members of each dimension, then each input variable's cells. @@ -39,8 +39,8 @@ export default { await db.run('BEGIN'); for (const file of fs.readdirSync(path.join(cells.base, 'cells'))) await db.run(IMPORTS.get(file.replace(/\.csv$/, ''))); await db.run('COMMIT'); - // Every calculated table, in dependency order, and the file to disk. - await db.run(CALCULATE); + // Every calculated table, in dependency order, then calculated = true, and the file to disk. + await calculate(db); await db.run('CHECKPOINT'); // 4. Read EBIT in euros for every country, version, year and month. diff --git a/systems/duckdb-tables/tests/l2.mjs b/systems/duckdb-tables/tests/l2.mjs index f782c22..f2188d8 100644 --- a/systems/duckdb-tables/tests/l2.mjs +++ b/systems/duckdb-tables/tests/l2.mjs @@ -7,13 +7,15 @@ import fs from 'node:fs'; import path from 'node:path'; -import { sqlFile, restore, members, sqlFolder } from '../db.mjs'; +import { restore, members, sqlFolder } from '../db.mjs'; // The SQL this test runs, read once when the file loads, so no file read is timed. -const CALCULATE = sqlFile('calculate.sql'); const IMPORTS = sqlFolder('import'); export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); @@ -23,14 +25,12 @@ export default { // The SQL reads the CSVs by paths relative to the folder of the increment's input cells. await db.run(`SET file_search_path = '${cells.close.replace(/'/g, "''")}'`); const loaded = fs.readdirSync(path.join(cells.close, 'cells')).map((f) => f.replace(/\.csv$/, '')); - await db.run('BEGIN'); - for (const variable of loaded) await db.run(IMPORTS.get(variable)); - for (const { variable, at, value } of pick.flags) { - await db.run(`INSERT OR REPLACE INTO "${variable}" ("Versions", "Years", "Months", v) VALUES (${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - } - await db.run('COMMIT'); - // The increment reaches 165 of the 167 calculated tables, so all of them are built again. - await db.run(CALCULATE); + await db.write(async () => { + for (const variable of loaded) await db.run(IMPORTS.get(variable)); + for (const { variable, at, value } of pick.flags) { + await db.run(`INSERT OR REPLACE INTO "${variable}" ("Versions", "Years", "Months", v) VALUES (${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + } + }); const rows = await db.rows(` SELECT c.name AS "Country", sum(s.v) AS v FROM "EBIT OUT" s JOIN "dim Country" c ON c."Country" = s."Country" diff --git a/systems/duckdb-tables/tests/l3.mjs b/systems/duckdb-tables/tests/l3.mjs index b5137e8..04e953e 100644 --- a/systems/duckdb-tables/tests/l3.mjs +++ b/systems/duckdb-tables/tests/l3.mjs @@ -1,23 +1,24 @@ // L3 Change a weight in master data, on DuckDB. // // One SKU's unit weight, an imported master data value, goes up by a quarter. The new weight replaces its row -// in the input table, and every calculated table it reaches is built again. Timed until the brand's logistics +// in the input table, and every calculated table is built again. Timed until the brand's logistics // cost can be read by country, and the file is on disk. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('IMPORT Unit Weight'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick }) { - await db.run(`INSERT OR REPLACE INTO "IMPORT Unit Weight" ("SKU", v) VALUES (${m.id('SKU', pick.sku)}, ${pick.value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "IMPORT Unit Weight" ("SKU", v) VALUES (${m.id('SKU', pick.sku)}, ${pick.value})`); + }); const rows = await db.rows(` SELECT f."Country" AS c, sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" f ON f."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/m1.mjs b/systems/duckdb-tables/tests/m1.mjs index 7ff7362..56c6d23 100644 --- a/systems/duckdb-tables/tests/m1.mjs +++ b/systems/duckdb-tables/tests/m1.mjs @@ -1,21 +1,21 @@ // M1 Change a formula, on DuckDB. // -// The modeller changes the formula of Handling KG. sql/m1.sql is the migration: the changed table and every -// table that reads it, built again. Timed until logistics cost can be read by brand and country. +// The modeller changes the formula of Handling KG. sql/m1.sql is the migration: the new input tables, if any, then +// every calculated table is built again. Timed until logistics cost can be read by brand and country. -import { restore, members, sqlFile } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const MIGRATION = sqlFile('m1.sql'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m }) { - await db.run(MIGRATION); + await db.migrate('m1'); const rows = await db.rows(` SELECT s."Brand" AS b, f."Country" AS c, sum(s.v) AS v FROM "Logistics Cost" s JOIN "flat Customer" f ON f."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/m2.mjs b/systems/duckdb-tables/tests/m2.mjs index 88e3a02..e72b86b 100644 --- a/systems/duckdb-tables/tests/m2.mjs +++ b/systems/duckdb-tables/tests/m2.mjs @@ -4,24 +4,25 @@ // customer dimension, and calculate.sql builds every calculated table again. Timed until the group's // volume in M7 can be read. -import { restore, members, sqlFile } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const CALCULATE = sqlFile('calculate.sql'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { customer, group, region, sku, value } }) { - await db.run(`INSERT INTO "dim Customer" ("Customer", name, "Customer Group", "Region") - SELECT max("Customer") + 1, '${customer}', ${m.id('Customer Group', group)}, ${m.id('Region', region)} FROM "dim Customer"`); - await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) - SELECT "Customer", ${m.id('SKU', sku)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${m.id('Months', 'M7')}, ${value} - FROM "dim Customer" WHERE name = '${customer}'`); - await db.run(CALCULATE); + await db.write(async () => { + await db.run(`INSERT INTO "dim Customer" ("Customer", name, "Customer Group", "Region") + SELECT max("Customer") + 1, '${customer}', ${m.id('Customer Group', group)}, ${m.id('Region', region)} FROM "dim Customer"`); + await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) + SELECT "Customer", ${m.id('SKU', sku)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${m.id('Months', 'M7')}, ${value} + FROM "dim Customer" WHERE name = '${customer}'`); + }); const [volume] = await db.rows(` SELECT sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" c ON c."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/m3.mjs b/systems/duckdb-tables/tests/m3.mjs index 2785b83..09dbc43 100644 --- a/systems/duckdb-tables/tests/m3.mjs +++ b/systems/duckdb-tables/tests/m3.mjs @@ -4,20 +4,21 @@ // dimension gets the new group, and calculate.sql builds every calculated table again. Timed until gross // sales of the old and the new group can be read. -import { restore, members, sqlFile } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const CALCULATE = sqlFile('calculate.sql'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { customer, group, target } }) { - await db.run(`UPDATE "dim Customer" SET "Customer Group" = ${m.id('Customer Group', target)} WHERE "Customer" = ${m.id('Customer', customer)}`); - await db.run(CALCULATE); + await db.write(async () => { + await db.run(`UPDATE "dim Customer" SET "Customer Group" = ${m.id('Customer Group', target)} WHERE "Customer" = ${m.id('Customer', customer)}`); + }); const rows = await db.rows(` SELECT c."Customer Group" AS g, sum(s.v) AS v FROM "Gross Sales" s JOIN "flat Customer" c ON c."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/m4.mjs b/systems/duckdb-tables/tests/m4.mjs index b40b08b..f7936c0 100644 --- a/systems/duckdb-tables/tests/m4.mjs +++ b/systems/duckdb-tables/tests/m4.mjs @@ -1,22 +1,22 @@ // M4 Allocate one more cost, on DuckDB. // // The modeller adds a cost pool from the marketing staff's OPEX, allocates it to customers and brands, and -// subtracts it in contribution margin III. sql/m4.sql is the migration: the new and changed tables and every -// table that reads one of them. Timed until contribution margin III can be read by country. +// subtracts it in contribution margin III. sql/m4.sql is the migration: the new input tables, then every +// calculated table is built again. Timed until contribution margin III can be read by country. -import { restore, members, sqlFile } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const MIGRATION = sqlFile('m4.sql'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m }) { - await db.run(MIGRATION); + await db.migrate('m4'); const rows = await db.rows(` SELECT "Country" AS c, sum(v) AS v FROM "Contribution Margin III by Country" diff --git a/systems/duckdb-tables/tests/r8.mjs b/systems/duckdb-tables/tests/r8.mjs index c8d8872..3311f5b 100644 --- a/systems/duckdb-tables/tests/r8.mjs +++ b/systems/duckdb-tables/tests/r8.mjs @@ -1,14 +1,14 @@ // R8 Open the model, on DuckDB. // -// Each run starts DuckDB on the snapshot file, which builds every calculated table, -// then reads EBIT in euros for the plan year. Timed from the start until the read returns. +// Each run starts DuckDB on the snapshot file, whose calculated tables are in it already, then reads EBIT in +// euros for the plan year. Timed from the start until the read returns. import { reset, start, members } from '../db.mjs'; export default { setup: ({ work }) => reset(work), - // Timed: the start, and the member ids the read needs. + // Timed: opening the file, and the member ids the read needs. async open(context) { context.db = await start(context.work); context.m = await members(context.db); diff --git a/systems/duckdb-tables/tests/w1.mjs b/systems/duckdb-tables/tests/w1.mjs index 4834e34..b863242 100644 --- a/systems/duckdb-tables/tests/w1.mjs +++ b/systems/duckdb-tables/tests/w1.mjs @@ -1,24 +1,25 @@ // W1 Type one volume, on DuckDB. // // A planner types one customer's volume for one SKU and plan month, in the biggest customer group of its -// country. The typed volume replaces its row in the table of overrides, and every calculated table it reaches -// is built again. Timed until the country's EBIT for the year can be read. +// country. The typed volume replaces its row in the table of overrides, and every calculated table is +// built again. Timed until the country's EBIT for the year can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Volume Override IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) - VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) + VALUES (${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" diff --git a/systems/duckdb-tables/tests/w2.mjs b/systems/duckdb-tables/tests/w2.mjs index 8a237b6..7826daf 100644 --- a/systems/duckdb-tables/tests/w2.mjs +++ b/systems/duckdb-tables/tests/w2.mjs @@ -1,15 +1,15 @@ // W2 Paste 1,000 volumes at once, on DuckDB. // // A planner pastes 1,000 volumes into the plan months of one country. All 1,000 rows go into the table of -// overrides in one statement, and every calculated table they reach is built again. Timed until the +// overrides in one statement, and every calculated table is built again. Timed until the // country's volume over the plan months can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Volume Override IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); @@ -17,8 +17,9 @@ export default { async run({ db, m, pick: { cells, country, months } }) { const values = cells.map(({ at, value }) => `(${m.id('Customer', at.Customer)}, ${m.id('SKU', at.SKU)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) VALUES ${values.join(', ')}`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Volume Override IN" ("Customer", "SKU", "Versions", "Years", "Months", v) VALUES ${values.join(', ')}`); + }); const [volume] = await db.rows(` SELECT sum(s.v) AS v FROM "Volume" s JOIN "flat Customer" f ON f."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/w3.mjs b/systems/duckdb-tables/tests/w3.mjs index 3c5e7e4..552b39d 100644 --- a/systems/duckdb-tables/tests/w3.mjs +++ b/systems/duckdb-tables/tests/w3.mjs @@ -1,24 +1,25 @@ // W3 Change a rebate rate, on DuckDB. // // A planner raises one customer group's rebate rate in a plan month. The new rate replaces its row in the -// input table, and every calculated table the rate reaches is built again. Timed until the country's EBIT +// input table, and every calculated table is built again. Timed until the country's EBIT // for that month can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Rebate Rate IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "Rebate Rate IN" ("Customer Group", "Versions", "Years", "Months", v) - VALUES (${m.id('Customer Group', at['Customer Group'])}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Rebate Rate IN" ("Customer Group", "Versions", "Years", "Months", v) + VALUES (${m.id('Customer Group', at['Customer Group'])}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" diff --git a/systems/duckdb-tables/tests/w4.mjs b/systems/duckdb-tables/tests/w4.mjs index f53cbd4..d036696 100644 --- a/systems/duckdb-tables/tests/w4.mjs +++ b/systems/duckdb-tables/tests/w4.mjs @@ -1,13 +1,10 @@ // W4 Raise a brand's price, on DuckDB. // // A planner raises one brand's price increase for the plan year. The new value replaces its row in the input -// table, and every calculated table it reaches is built again. Timed until the brand's gross sales can be +// table, and every calculated table is built again. Timed until the brand's gross sales can be // read by country and plan month. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Price Increase IN'); +import { restore, members } from '../db.mjs'; const salesOfBrand = (m, brand, months, sign) => ` SELECT c."Country" AS c, s."Months" AS mo, sum(s.v) AS v FROM "Gross Sales" s @@ -17,14 +14,18 @@ const salesOfBrand = (m, brand, months, sign) => ` GROUP BY c."Country", s."Months"`; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { brand, value, months } }) { - await db.run(`INSERT OR REPLACE INTO "Price Increase IN" ("Brand", "Versions", "Years", v) VALUES (${m.id('Brand', brand)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Price Increase IN" ("Brand", "Versions", "Years", v) VALUES (${m.id('Brand', brand)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); + }); const rows = await db.rows(salesOfBrand(m, brand, months, 'IN')); return rows.filter((r) => r.v !== null).map((r) => ({ key: { Country: m.name('Country', r.c), Months: m.name('Months', r.mo) }, value: r.v })); diff --git a/systems/duckdb-tables/tests/w5.mjs b/systems/duckdb-tables/tests/w5.mjs index ca56af0..0d34c6b 100644 --- a/systems/duckdb-tables/tests/w5.mjs +++ b/systems/duckdb-tables/tests/w5.mjs @@ -1,24 +1,25 @@ // W5 Change a planning exchange rate, on DuckDB. // // A planner changes one currency's exchange rate for one plan month. The new rate replaces its row in the -// input table, and every calculated table it reaches is built again. Timed until the cost of goods of the +// input table, and every calculated table is built again. Timed until the cost of goods of the // country with that currency can be read for the month. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('FX Rate IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "FX Rate IN" ("Currency", "Versions", "Years", "Months", v) - VALUES (${m.id('Currency', at.Currency)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "FX Rate IN" ("Currency", "Versions", "Years", "Months", v) + VALUES (${m.id('Currency', at.Currency)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [cogs] = await db.rows(` SELECT sum(s.v) AS v FROM "COGS" s JOIN "flat Customer" f ON f."Customer" = s."Customer" diff --git a/systems/duckdb-tables/tests/w6a.mjs b/systems/duckdb-tables/tests/w6a.mjs index f5c60e2..0d9e29e 100644 --- a/systems/duckdb-tables/tests/w6a.mjs +++ b/systems/duckdb-tables/tests/w6a.mjs @@ -1,24 +1,25 @@ // W6a Change the cost of a warehouse, on DuckDB. // // A planner raises one cost center's operating cost for one account and plan month. A warehouse's cost is allocated to customers, so the write moves thousands of allocated cells. -// The new cost replaces its row in the input table, and every calculated table it reaches is built again. +// The new cost replaces its row in the input table, and every calculated table is built again. // Timed until the country's EBIT for the month can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('OPEX IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "OPEX IN" ("Cost Center", "Account", "Versions", "Years", "Months", v) - VALUES (${m.id('Cost Center', at['Cost Center'])}, ${m.id('Account', at.Account)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "OPEX IN" ("Cost Center", "Account", "Versions", "Years", "Months", v) + VALUES (${m.id('Cost Center', at['Cost Center'])}, ${m.id('Account', at.Account)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" diff --git a/systems/duckdb-tables/tests/w6b.mjs b/systems/duckdb-tables/tests/w6b.mjs index 4eac9d8..68e9680 100644 --- a/systems/duckdb-tables/tests/w6b.mjs +++ b/systems/duckdb-tables/tests/w6b.mjs @@ -1,24 +1,25 @@ // W6b Change the cost of an office, on DuckDB. // // A planner raises one cost center's operating cost for one account and plan month. An office's cost is not allocated, so the write moves one total. -// The new cost replaces its row in the input table, and every calculated table it reaches is built again. +// The new cost replaces its row in the input table, and every calculated table is built again. // Timed until the country's EBIT for the month can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('OPEX IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { at, country, value } }) { - await db.run(`INSERT OR REPLACE INTO "OPEX IN" ("Cost Center", "Account", "Versions", "Years", "Months", v) - VALUES (${m.id('Cost Center', at['Cost Center'])}, ${m.id('Account', at.Account)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "OPEX IN" ("Cost Center", "Account", "Versions", "Years", "Months", v) + VALUES (${m.id('Cost Center', at['Cost Center'])}, ${m.id('Account', at.Account)}, ${m.id('Versions', at.Versions)}, ${m.id('Years', at.Years)}, ${m.id('Months', at.Months)}, ${value})`); + }); const [ebit] = await db.rows(` SELECT sum(v) AS v FROM "EBIT OUT" diff --git a/systems/duckdb-tables/tests/w7.mjs b/systems/duckdb-tables/tests/w7.mjs index 17cf638..38e9725 100644 --- a/systems/duckdb-tables/tests/w7.mjs +++ b/systems/duckdb-tables/tests/w7.mjs @@ -1,25 +1,26 @@ // W7 Set a yearly target, on DuckDB. // // A planner sets one customer group's volume target for one category and the plan year. The target replaces -// its row in the input table, and every calculated table it reaches is built again. The target is spread +// its row in the input table, and every calculated table is built again. The target is spread // over the months like last year's volume. Timed until the group's volume in the category can be read for // the plan months. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Volume Target IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { group, category, months, value } }) { - await db.run(`INSERT OR REPLACE INTO "Volume Target IN" ("Customer Group", "Category", "Versions", "Years", v) - VALUES (${m.id('Customer Group', group)}, ${m.id('Category', category)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Volume Target IN" ("Customer Group", "Category", "Versions", "Years", v) + VALUES (${m.id('Customer Group', group)}, ${m.id('Category', category)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); + }); const [volume] = await db.rows(` SELECT sum(s.v) AS v FROM "Volume" s diff --git a/systems/duckdb-tables/tests/w8.mjs b/systems/duckdb-tables/tests/w8.mjs index e4c7ef2..0c55414 100644 --- a/systems/duckdb-tables/tests/w8.mjs +++ b/systems/duckdb-tables/tests/w8.mjs @@ -1,24 +1,25 @@ // W8 Flip a yearly bonus, on DuckDB. // // A planner moves one customer group's growth threshold just across the group's growth, so its yearly bonus -// switches on or off. The threshold replaces its row in the input table, and every calculated table it -// reaches is built again. Timed until the group's growth bonus for the year can be read. +// switches on or off. The threshold replaces its row in the input table, and every calculated table is +// built again. Timed until the group's growth bonus for the year can be read. -import { restore, members, rebuild } from '../db.mjs'; - -// The SQL this test runs, read once when the file loads, so no file read is timed. -const REBUILD = rebuild('Growth Bonus Threshold IN'); +import { restore, members } from '../db.mjs'; export default { + // DuckDB has no incremental calculation: this test recalculates every calculated table. + recalc: 'full', + async setup(context) { context.db = await restore(context.work); context.m = await members(context.db); }, async run({ db, m, pick: { group, value } }) { - await db.run(`INSERT OR REPLACE INTO "Growth Bonus Threshold IN" ("Customer Group", "Versions", "Years", v) - VALUES (${m.id('Customer Group', group)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); - await db.run(REBUILD); + await db.write(async () => { + await db.run(`INSERT OR REPLACE INTO "Growth Bonus Threshold IN" ("Customer Group", "Versions", "Years", v) + VALUES (${m.id('Customer Group', group)}, ${m.id('Versions', 'FC 6+6')}, ${m.id('Years', 'Y2026')}, ${value})`); + }); const [bonus] = await db.rows(` SELECT sum(s.v) AS v FROM "Growth Bonus" s JOIN "flat Customer" c ON c."Customer" = s."Customer" diff --git a/tests/method.md b/tests/method.md index cf425c4..4214264 100644 --- a/tests/method.md +++ b/tests/method.md @@ -88,6 +88,13 @@ Planning engines keep results up to date, so stored results are allowed. This co OS caches, buffer pools, compiled plans and prepared statements are also allowed. +## Systems without incremental calculation + +Some systems cannot recalculate only what a change reaches. DuckDB is one. Such a system is run the way its users would have to run it: after a write, a load or a model change that touches calculated data, it recalculates everything, and that time counts as it is. Nothing compensates for the gap. The entry does not keep its calculated tables in memory, does not rebuild only the tables a change reaches, and does not do anything else that stands in for incremental calculation. Its calculated tables are durable too. A change commits its inputs together with a marker that says the calculated tables are stale, the recalculation runs after that, and a second commit clears the marker. A crash in between is repaired by the next open, which calculates every table again before the first read, so a read never sees stale calculated tables as current. Tuning that has nothing to do with incrementality, such as integer member ids, stays. + +- A test where the system recalculated everything instead of updating what changed is marked `recalc: 'full'`. The test file of the entry exports it, and the runner copies it into that test's result, as `"recalc": "full"`. A test without the field did what the system does natively. Loads that build every table for every system (L1) and reads do not carry it. +- The time stays in the score, as measured. Only the presentation changes: the website draws the bars and cells of such tests grey with diagonal stripes, labelled "not supported - full recalc results", in the legend and in a tooltip. The label says that the system has no incremental calculation, so these times are not a like-for-like match with a system that updates only what changed. + A cache of answers keyed on a read's text or parameters is not allowed. Neither is anything built for one test's read. The runner also makes unpublished reads to catch this. ## Fair comparison @@ -116,7 +123,7 @@ Amounts must match within 0.01 or a relative 1e-9, whichever is larger. Ratios m All benchmarks are wrong in some way, and this one is too. [ClickBench](https://github.com/ClickHouse/ClickBench#limitations) says the same about itself. Read the results with that in mind. - **One model, one kind of work.** FPABench runs one P&L model with a set list of tasks. Your own model and your own way of working may give a different order. -- **The databases are not planning engines.** DuckDB and ClickHouse have no way to recalculate only the cells a write reaches. Their entries keep each calculated variable as a table. After a write they rebuild every table that depends on it. So their write and model change times show the cost of that rebuild. A planning engine updates only what changed. These times are not a like-for-like match. +- **The databases are not planning engines.** DuckDB, ClickHouse and PostgreSQL have no way to recalculate only the cells a write reaches. Their entries keep each calculated variable as a table. DuckDB has no incremental calculation at all, so its entry recalculates every calculated table after a change and its results are marked `recalc: 'full'`, shown as "not supported - full recalc results". The ClickHouse and PostgreSQL entries rebuild every table that depends on the write. So their write and model change times show the cost of that rebuild. A planning engine updates only what changed. None of these times is a like-for-like match. - **The SQL entries are a baseline.** They show what a plain database does with this model. Each was set up by Farseer, and a better setup may exist. Each system's makers are welcome to send one. - **Farseer makes RAMA.** We follow the same rules for RAMA as for every other entry. Even so, we know RAMA best, and that can help it. - **A small reference machine.** The rankings use one small cloud machine. A bigger machine or a different disk can change the order. diff --git a/website/build.mjs b/website/build.mjs index 5ab7493..50f2c6a 100644 --- a/website/build.mjs +++ b/website/build.mjs @@ -307,7 +307,8 @@ function readResults(tests) { const kept = {}; for (const [id, t] of Object.entries(r.tests)) { if (!ids.has(id)) continue; - kept[id] = { check: t.check, time: t.time, p95: t.p95 }; + if (t.recalc !== undefined && t.recalc !== 'full') fail(`${rel}: ${id} has recalc "${t.recalc}", and the only value is "full"`); + kept[id] = { check: t.check, time: t.time, p95: t.p95, ...(t.recalc ? { recalc: t.recalc } : {}) }; } rows.push({ machine, entry: id, scale: r.scale, tests: kept }); } @@ -351,14 +352,16 @@ for (const f of sizeFacts) { const resultsHtml = [ '

FPABench measures how fast planning software loads data, recalculates a plan and answers reports. Every system runs the same P&L model on the same data. FPABench is made by Farseer, which builds a planning platform for finance teams. RAMA is the calculation engine inside Farseer and one of the entries. It follows the same rules as the others. About says more.

', '

In plain words: finance teams build budgets and forecasts in planning software. When a number changes, every total that depends on it must update, and reports must open fast. FPABench makes up one realistic company and gives its data to every system. Then it times the everyday tasks: loading actuals, typing into the budget, opening reports and changing the plan. Why: vendors get one standard way to measure their system, and buyers get a fair way to compare tools.

', - '

Read this first. All benchmarks are wrong in some way, and this one is too. DuckDB and ClickHouse are databases, and they have no way to recalculate only what a write changes. After each write they rebuild every table that depends on it. So their write and model change times are not a like-for-like match with a planning engine. The limitations list every caveat.

', + '

Read this first. All benchmarks are wrong in some way, and this one is too. DuckDB, ClickHouse and PostgreSQL are databases, and they have no way to recalculate only what a write changes. DuckDB recalculates everything after each change, and results measured that way are shown grey and striped as "not supported - full recalc results". The DuckDB numbers at 10m and 100m were measured that way. The DuckDB numbers at 1b are from the earlier setup, with calculated tables in memory and only the affected tables rebuilt, so they carry no mark and have not been measured again. DuckDB has two minus points here. Calculating the derived tables inside one transaction costs far more than outside it: about 271 s against about 4 s per recalculation on 4 vCPU, with the cause not established. And DuckDB commits each statement by itself and has no materialized views or triggers, so the choice is atomic but slow, or fast but not atomic. The entry takes the second, with a calculated flag in its database, and calculates every table again on open after a crash. ClickHouse and PostgreSQL rebuild every table that depends on the write. So their write and model change times are not a like-for-like match with a planning engine. The limitations list every caveat.

', '
', '', '

The scale is the size of the dataset. Each size is named by about how many cells the model stores, so 10m holds about 10 million cells and 10b about 10 billion. Every system loads the same files. The data page lists what each size holds.

', `

Lower is better. ×1.00 is the fastest entry on a test. Tick one machine to compare the systems on it, or several to compare machines too, as in ClickBench. Every row shown is scored against the fastest row shown. The method's reference machine is a Google Cloud n2d-standard-4, and the published rankings use it alone. No system is tuned or limited to fewer threads. A failed test counts as much slower than the slowest success. The method has the details.

`, + '
', '
', '

Detailed comparison

', '

Untick a test to leave it out of the score. The tests page says what each one does.

', + '
', '
', ``, ] diff --git a/website/results.js b/website/results.js index 03ce674..bc80f66 100644 --- a/website/results.js +++ b/website/results.js @@ -10,6 +10,10 @@ const data = JSON.parse(document.getElementById('results-data').textContent); const SHIFT = 0.01; const FLOOR = 300; +// A test the system answered by recalculating everything, because it has no incremental calculation. Its time +// stays in the score. The page only shows it as grey and striped, with this text. See tests/method.md. +const FULL_TEXT = 'not supported - full recalc results'; +const FULL_LEGEND = `${FULL_TEXT}: this system has no incremental calculation, so after the change it recalculated everything. The time is as measured and counts in the score, but it is not a like-for-like match with a system that updates only what changed.`; const FAILURES = { wrong: '✗ wrong', error: '☠ error', timeout: '☠ timeout', unsupported: '– not supported', 'not recorded': '– not recorded' }; const esc = (s) => String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); @@ -91,7 +95,7 @@ function scoredRows() { .filter((r) => state.machine.has(r.machine) && state.scale.has(r.scale)) .map((r) => { const own = Object.values(r.tests).filter((x) => x.check === 'ok' && typeof x.time === 'number').map((x) => x.time); - return { ...r, entryInfo: entryById.get(r.entry), ratios: {}, scores: {}, slowest: Math.max(0, ...own) }; + return { ...r, entryInfo: entryById.get(r.entry), ratios: {}, scores: {}, full: {}, counted: {}, slowest: Math.max(0, ...own) }; }); for (const kind of data.kinds) { const counted = data.tests.filter((t) => t.kind === kind.id && t.status === 'ready' && !excluded.has(t.id)); @@ -111,6 +115,9 @@ function scoredRows() { for (const r of rows) { const ratios = counted.map((t) => r.ratios[t.id]).filter((x) => x !== undefined); r.scores[kind.id] = ratios.length > 0 ? Math.exp(ratios.reduce((sum, x) => sum + Math.log(x), 0) / ratios.length) : null; + // How many of the tests in this score were full recalculations. + r.counted[kind.id] = ratios.length; + r.full[kind.id] = counted.filter((t) => r.ratios[t.id] !== undefined && r.tests[t.id]?.recalc === 'full').length; } } const shown = rows.filter((r) => state.system.has(r.entry)); @@ -129,6 +136,15 @@ const heat = (ratio) => { return `hsla(${Math.round(120 * (1 - x))}, 75%, 50%, 0.3)`; }; +// The legend, when a row shown has a test of the picked kind that was a full recalculation. +function renderLegends(rows) { + const kind = one('kind'); + const any = rows.some((r) => data.tests.some((t) => t.kind === kind && r.tests[t.id]?.recalc === 'full')); + const html = any ? `

${esc(FULL_LEGEND)}

` : ''; + document.getElementById('legend').innerHTML = html; + document.getElementById('details-legend').innerHTML = html; +} + function renderSummary(rows) { const el = document.getElementById('summary'); const kind = one('kind'); @@ -151,7 +167,11 @@ function renderSummary(rows) { const s = r.scores[k.id]; return `${s === null ? '–' : ratioText(s)}`; }); - return `${esc(rowName(r))}${scores.join('')}`; + const full = r.full[kind]; + const cell = full + ? `↻ ${esc(FULL_TEXT)} (${full} of ${r.counted[kind]} tests)` + : ``; + return `${esc(rowName(r))}${cell}${scores.join('')}`; }) .join(''); el.innerHTML = `${head}${body}
`; @@ -175,9 +195,13 @@ function renderDetails(rows) { const time = timeOf(r, test.id); if (time === null) return `${esc(FAILURES[result.check] || result.check)}`; const ratio = r.ratios[test.id]; - const style = ratio ? ` style="background:${heat(ratio)}"` : ''; - const title = result.p95 ? ` title="95th percentile ${seconds(result.p95)}"` : ''; - return `${seconds(time)}${ratio ? `${ratioText(ratio)}` : ''}`; + const full = result.recalc === 'full'; + // A full recalculation has no heat color: it is grey and striped instead. + const style = ratio && !full ? ` style="background:${heat(ratio)}"` : ''; + const notes = [...(full ? [FULL_TEXT] : []), ...(result.p95 ? [`95th percentile ${seconds(result.p95)}`] : [])]; + const title = notes.length ? ` title="${esc(notes.join('. '))}"` : ''; + const mark = full ? `↻` : ''; + return `${mark}${seconds(time)}${ratio ? `${ratioText(ratio)}` : ''}`; }); const checked = excluded.has(test.id) ? '' : ' checked'; const box = ``; @@ -197,6 +221,7 @@ document.getElementById('details').addEventListener('change', (event) => { function render() { renderSelectors(); const rows = scoredRows(); + renderLegends(rows); renderSummary(rows); renderDetails(rows); } diff --git a/website/style.css b/website/style.css index 1a89f92..1158940 100644 --- a/website/style.css +++ b/website/style.css @@ -14,6 +14,10 @@ --chip-on-text: #000000; --chip-off: #ececec; --chip-off-text: #333333; + --full-fill: #d6d6d6; + --full-stripe: #9c9c9c; + --full-cell: rgba(127, 127, 127, 0.1); + --full-cell-stripe: rgba(127, 127, 127, 0.34); } :root[data-theme='dark'] { @@ -30,6 +34,10 @@ --chip-on-text: #ffffff; --chip-off: #2a2a2a; --chip-off-text: #d0d0d0; + --full-fill: #707070; + --full-stripe: #3d3d3d; + --full-cell: rgba(127, 127, 127, 0.12); + --full-cell-stripe: rgba(200, 200, 200, 0.3); } @media (prefers-color-scheme: dark) { @@ -47,6 +55,10 @@ --chip-on-text: #ffffff; --chip-off: #2a2a2a; --chip-off-text: #d0d0d0; + --full-fill: #707070; + --full-stripe: #3d3d3d; + --full-cell: rgba(127, 127, 127, 0.12); + --full-cell-stripe: rgba(200, 200, 200, 0.3); } } @@ -363,6 +375,48 @@ th { font-weight: 600; } +/* A result of a full recalculation, for a system with no incremental calculation: grey with skewed zebra lines. */ +.bar.full { + background: repeating-linear-gradient(135deg, var(--full-fill) 0 6px, var(--full-stripe) 6px 10px); +} + +.full-note { + display: block; + margin-top: 2px; + color: var(--text-2); + font-size: 0.78rem; + white-space: normal; +} + +.details td.cell.full { + background: repeating-linear-gradient(135deg, var(--full-cell) 0 8px, var(--full-cell-stripe) 8px 12px); +} + +.full-mark { + margin-right: 6px; + color: var(--text-2); +} + +.legend { + max-width: 860px; + margin: 4px 0 10px; + color: var(--text-2); + font-size: 0.85rem; +} + +.swatch { + display: inline-block; + width: 28px; + height: 12px; + border-radius: 3px; + vertical-align: -1px; + margin-right: 4px; +} + +.swatch.full { + background: repeating-linear-gradient(135deg, var(--full-fill) 0 6px, var(--full-stripe) 6px 10px); +} + .machine { color: var(--text-2); font-weight: 400;