Skip to main content
This gem runs in .

Overview

In Prophecy, datasets stored in the SQL Warehouse Connection defined in your fabric are accessed using Table gems. Unlike Source and Target gems, Table gems run directly within the data warehouse, eliminating extra orchestration steps and improving performance. Available configurations for Table gems vary based on your SQL warehouse provider. This page explains how to use the Table gem for a Prophecy In Memory fabric.

Table types

The following table types are supported.

Create a new table

Once you create a Table gem, you can reuse the table throughout your project. All created tables appear in the Project tab in the left sidebar. To create a table in your pipeline:
1

Add a table gem to the pipeline

  1. Open your pipeline in the Studio.
  2. Click on Source/Target in the canvas.
  3. Select Table from the dropdown.
  4. Click on the gem to open the configuration.
2

Create a new table

Click + New Table. The gem configuration will depend on the table type:

Configure tables

Source parameters

Target parameters

The Location tab defines where a table lives and how it is identified within your project. A parameter set selector appears in the upper-right corner of the Location tab:
  • If the table gem is used inside a pipeline, the selector shows that pipeline’s active parameter set automatically.
  • If you’re working on the table outside of a pipeline (for example, from the Project browser), the selector shows Select Pipeline and Parameter set until you choose one. You only need to do this if one or more Location fields are set to Advanced mode (see below) and you need their values resolved outside pipeline context.
At the bottom of the Location tab, Prophecy shows a live preview of the resolved database.schema.table location: the hardcoded values if all fields are in Simple mode, or the resolved parameter values if any field is in Advanced mode. If a value can’t be resolved yet — for example, because no parameter set is selected — Prophecy displays the raw value instead.

Make a location field dynamic

In the default Simple mode, each Location field (database, schema, table) takes a fixed value that you type directly.Switch a field to Advanced mode to bind it to a project or pipeline parameter instead of a fixed value.
Only parameters of type sql_expression can be used in Advanced mode. Using a parameter of a different type will cause the table location to fail to resolve.
Switching a field from Advanced back to Simple mode clears its current value.
Once a field is in Advanced mode, its value depends on which parameter set is active (see the parameter set selector above). This makes it possible to define a table once and reuse it across multiple pipelines, each supplying different values for the parameterized fields via their own parameter sets. To reuse a table you’ve already created, select it from Table > [alias] in the Project browser.
Prophecy does not validate that tables resolved from different parameter sets share the same schema. If your parameter sets point to tables with different schemas, downstream steps in your pipeline may fail or behave unexpectedly.

Configure views

Views are virtual tables recomputed at runtime from a query.

Source parameters

Target parameters

Every time the pipeline runs, the target is overwritten. This is because the view is recomputed from scratch based on the underlying logic, and any previously materialized results are discarded. No additional write modes are supported.

Configure seeds

Seeds are lightweight CSV datasets defined in your project. Seeds are source-only.
The CSV data you define is stored in your Prophecy project files and materialized as a table in your data warehouse. This table is created in the default target schema specified in your connection.

Reusing and sharing tables

After you create a table in Prophecy, you can reuse its configuration across your entire project. All created tables appear in the Project tab in the left sidebar. To make tables available to other teams, you can share your project as a package in the Package Hub. Other users will be able to use the shared table configuration if they have access to your fabric via team membership.