Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-01.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-03.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-04.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-05.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-06.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/advanced-scripting-07.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/beta-16-6-01.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/beta-17-4-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/beta-18-3-01.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/beta-18-5-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/command-line-options-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/custom-actions-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/custom-actions-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/editions-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/assets/images/getting-started-01.png
Binary file added content/assets/images/getting-started-te-01.png
Binary file added content/assets/images/getting-started-te-02.png
Binary file added content/assets/images/getting-started-te-03.png
Binary file added content/assets/images/getting-started-te-05.png
Binary file added content/assets/images/getting-started-te-06.png
Binary file added content/assets/images/hierarchical-display-01.png
Binary file added content/assets/images/hierarchical-display-02.png
Binary file added content/assets/images/importing-tables-01.png
Binary file added content/assets/images/importing-tables-02.png
Binary file added content/assets/images/importing-tables-03.png
Binary file added content/assets/images/importing-tables-04.png
Binary file added content/assets/images/importing-tables-05.png
Binary file added content/assets/images/importing-tables-06.png
Binary file added content/assets/images/importing-tables-07.png
Binary file added content/assets/images/importing-tables-08.png
Binary file added content/assets/images/importing-tables-09.png
Binary file added content/assets/images/importing-tables-10.png
Binary file added content/assets/images/incremental-refresh2-01.png
Binary file added content/assets/images/incremental-refresh2-05.png
Binary file added content/assets/images/incremental-refresh2-06.png
Binary file added content/assets/images/master-model-pattern-01.png
Binary file added content/assets/images/master-model-pattern-02.png
Binary file added content/assets/images/master-model-pattern-03.png
Binary file added content/assets/images/master-model-pattern-04.png
Binary file added content/assets/images/master-model-pattern-05.png
Binary file added content/assets/images/master-model-pattern-06.png
Binary file added content/assets/images/master-model-pattern-07.png
Binary file added content/assets/images/master-model-pattern-08.png
Binary file added content/assets/images/master-model-pattern-09.png
Binary file added content/assets/images/master-model-pattern-10.png
Binary file added content/assets/images/master-model-pattern-11.png
Binary file added content/assets/images/metadata-backup-01.png
Binary file added content/assets/images/replace-tables-01.png
Binary file added content/assets/images/roles-rls-01.png
Binary file added content/assets/images/roles-rls-02.png
Binary file added content/assets/images/workspace-database-01.png
Binary file added content/assets/images/workspace-database-02.png
2 changes: 1 addition & 1 deletion content/features/Command-line-Options.md
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ start /B /wait TabularEditor.exe "C:\Projects\Sales\Model.bim" -D ssasserver Sal

The figure below shows what such a build looks like in Azure DevOps:

![image](https://user-images.githubusercontent.com/8976200/27128146-bc044356-50fd-11e7-9a67-b893fc48ea50.png)
![image](~/content/assets/images/command-line-options-01.png)

If the deployment fails for any reason, Tabular Editor returns the "Failed" status to Azure DevOps, regardless of whether or not you are using the "-W" switch.

Expand Down
4 changes: 2 additions & 2 deletions content/features/Custom-Actions-hidden.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ title: Custom Actions

Say you have created a useful script using the `Selected` object, and you want to be able to execute the script several times on different objects in the explorer tree. Instead of hitting the "Play" button whenever you want to execute the script, Tabular Editor lets you save it as a Custom Action:

![image](https://user-images.githubusercontent.com/8976200/33581673-0db35ed0-d952-11e7-90cd-e3164e198865.png)
![image](~/content/assets/images/custom-actions-01.png)

After saving the custom action, you will see that it is now available directly from the right-click context menu of the explorer tree, making it very easy to invoke the script on any objects selected in the tree. You can create as many custom actions as you want. Use backslashes (\\) in the names to create a submenu structure within the context menu.

![Custom Actions show up directly in the context menu](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/InvokeCustomAction.png)
![Custom Actions show up directly in the context menu](~/content/assets/images/custom-actions-02.png)

Custom Actions are stored in the CustomActions.json file within %AppData%\Local\TabularEditor. In the above example, the contents of this file will look like this:

Expand Down
4 changes: 2 additions & 2 deletions content/features/Workspace-Database.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This makes the development workflow a lot simpler, since you only need to hit Sa

When you load a model from a Model.bim file or folder structure, you will see the following prompt:

![image](https://user-images.githubusercontent.com/8976200/58166683-a65db180-7c8a-11e9-9df3-be9a716b3ad1.png)
![image](~/content/assets/images/workspace-database-01.png)

* **Yes**: Model metadata is loaded from disk and then immediately deployed to an instance of Analysis Services. Tabular Editor will then connect to the newly deployed database. The next time the same model is loaded from disk, Tabular Editor will redeploy and connect to the database automatically.
* **No**: Model metadata is loaded from disk into Tabular Editor as usual, without connecting to an instance of Analysis Services.
Expand All @@ -33,7 +33,7 @@ When you load a model from a Model.bim file or folder structure, you will see th

When you select the "Yes" option in the prompt shown above, you will be asked for a servername and (optional) credentials to an instance of Analysis Services. Hitting "OK" will show you a list of databases already on the instance. Tabular Editor assumes that you want to deploy a new database and provides a default name for the new database, based on your Windows username and the current date and time:

![image](https://user-images.githubusercontent.com/8976200/58179509-a10f5f80-7ca8-11e9-9764-4cb76b9d1a8b.png)
![image](~/content/assets/images/workspace-database-02.png)

If you want to use and existing database as your workspace database, simply select it on the list. **Warning: If you choose an existing database, it will be overwritten with the metadata of the model loaded from disk. For this reason it is not recommended to set up workspace databases on a production instance!**

Expand Down
4 changes: 2 additions & 2 deletions content/features/hierarchical-display.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ applies_to:
# Hierarchical display
Objects of the loaded model are shown in the TOM Explorer Tree. By default, all object types (visible tables, roles, relationships, etc.) are shown. If you only want to see tables, measures, columns and hierarchies, go to the "View" menu and toggle off "Show all object types".

![](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/AllObjectTypes.png)
![](~/content/assets/images/hierarchical-display-01.png)

Expanding a table in the "Tables" group, you will find the measures, columns and hierarchies contained in the table presented in their respective display folders by default. This way, objects are arranged similar to how end-users would see them in client tools:

![](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/DisplayFolders.png)
![](~/content/assets/images/hierarchical-display-02.png)

Use the buttons immediately above the Explorer Tree, to toggle invisible objects, display folders, measures, columns and hierarchies, or to filter objects by name. You can rename an object by selecting it in then hitting F2. This also works for display folders. If you double-click a measure or calculated column, you may edit its [DAX expression](dax-editor.md). Right-clicking will show a context menu, providing a range of handy shortcuts for operations such as setting visibility, perspective inclusion, adding columns to a hierarchy, etc.
10 changes: 5 additions & 5 deletions content/features/using-bpa-sample-rules-expressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ applies_to:
# Rule Expression Samples
In this section, you'll see some examples of Dynamic LINQ expressions that can be used to define rules. The expression that is entered in the Rule Expression Editor, will be evaluated whenever focus leaves the textbox, and any syntax errors will be shown on top of the screen:

![image](https://cloud.githubusercontent.com/assets/8976200/25380170/9f01634e-29af-11e7-952e-e10a1f28df32.png)
![image](~/content/assets/images/using-bpa-sample-rules-expressions-01.png)

Your rule expressions may access any public properties on the objects in the TOM. If you try to access a property that does not exist on that type of object, an error will also be shown:

![image](https://cloud.githubusercontent.com/assets/8976200/25381302/798bab98-29b3-11e7-931e-789e5286fc45.png)
![image](~/content/assets/images/using-bpa-sample-rules-expressions-02.png)

"Expression" does not exist on the "Column" object, but if we switch the dropdown to "Calculated Columns", the statement above works fine:

![image](https://cloud.githubusercontent.com/assets/8976200/25380451/87b160da-29b0-11e7-8e2e-c4e47593007d.png)
![image](~/content/assets/images/using-bpa-sample-rules-expressions-03.png)

Dynamic LINQ supports all the standard arithmetic, logical and comparison operators, and using the "."-notation, you can access subproperties and -methods of all objects.

Expand All @@ -47,7 +47,7 @@ Whenever we use a LINQ method to iterate over a collection, the expression used

Here, we see this rule in action on the Adventure Works tabular model. Note how the "Reseller" table shows up as being in violation, while the "Reseller Sales" does not show up (columns in the latter have been organized in Display Folders):

![image](https://cloud.githubusercontent.com/assets/8976200/25380809/d9d1c3a4-29b1-11e7-839e-29450ad39c8a.png)
![image](~/content/assets/images/using-bpa-sample-rules-expressions-04.png)

To refer to the parent object inside a LINQ method, use the special "outerIt" syntax. This rule, applied to tables, will find those that contain columns whose name does not start with the table name:

Expand Down Expand Up @@ -117,6 +117,6 @@ In some cases, it is possible to automatically fix the issues on objects satisfy

This rule finds all columns that are used in a relationship (on the "Many"/"From" side), but where the column or its parent table are not hidden. It is recommended that such columns are never shown, as users should filter data using the related (dimension) table instead. So the fix in this case, would be to set the columns IsHidden property to true, which is exactly what the "FixExpression" string above does. To see this in action, right-click any objects that violate the rule, and choose "Generate Fix Script". This puts a small script into the clipboard, which can be pasted into the Advanced Script Editor, from where you can easily review the code and execute it:

![image](https://cloud.githubusercontent.com/assets/8976200/25298489/9035bab6-26f5-11e7-8134-8502daaf4132.png)
![image](~/content/assets/images/using-bpa-sample-rules-expressions-05.png)

Remember that you can always undo (CTRL+Z) changes done to a model after script execution.
12 changes: 6 additions & 6 deletions content/getting-started/Getting-Started-te2.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,27 +32,27 @@ The recommended workflow is to set up the tables and relationships using SSDT as

Load a Model.bim file by choosing the Open > From File... option in the File menu (CTRL+O), or open an existing database from an instance of Analysis Services by choosing the Open > From DB... option. In the latter case, you will be prompted for a server name and optional credentials:

![Connecting to an already deployed Tabular Model](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/Connect.png)
![Connecting to an already deployed Tabular Model](~/content/assets/images/getting-started-te-01.png)

This also works with the new Azure Analysis Services PaaS. The "Local Instance" dropdown, may be used to browse and connect to any running instances of Power BI Desktop or Visual Studio Integrated Workspaces. **Note that although Tabular Editor can make changes to a Power BI model through the TOM, not all modeling operations are supported by Microsoft. [More information](Power-BI-Desktop-Integration.md)**

After clicking "OK", you will be presented with a list of databases on the server.

This is how the UI looks after a model has been loaded into Tabular Editor:

![The main UI of Tabular Editor](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/Main%20UI.png)
![The main UI of Tabular Editor](~/content/assets/images/getting-started-te-02.png)

The tree on the left side of the screen, displays all tables in the Tabular Model. Expanding a table will show all columns, measures and hierarchies within the table, grouped by their Display Folders. Use the buttons just above the tree, to toggle display folders, hidden objects, certain types of objects, or filter out objects by names. Right-clicking anywhere in the tree, will bring up a context menu with common actions, such as adding new measures, making an object hidden, duplicating objects, deleting objects, etc. Hit F2 to rename the currently selected object or multiselect and right-click to batch rename multiple objects.

![Batch Renaming lets you rename multiple objects simultaneously](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/BatchRename.png)
![Batch Renaming lets you rename multiple objects simultaneously](~/content/assets/images/getting-started-te-03.png)

On the top right side of the main UI, you see the DAX Editor, which may be used to edit the DAX expression of any measure or calculated column in the model. Click the "DAX Formatter" button to automatically format the code through www.daxformatter.com.

Use the property grid in the lower right corner, to examine and set properties of objects, such as Format String, Description along with translations and perspective memberships. You can also set the Display Folder property here, but it's easier to simply drag and drop objects within the tree to update their Display Folder (try selecting multiple objects using CTRL or SHIFT).

To edit perspectives or translations (cultures), select the "Model" object in the tree, and locate the "Model Perspectives" or "Model Cultures" properties, in the property grid. Click the small ellipsis button to open a collection editor for adding/removing/editing perspectives/cultures.

![Editing perspectives - click the ellipsis button to the right](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/Edit%20Perspectives.png)
![Editing perspectives - click the ellipsis button to the right](~/content/assets/images/getting-started-te-04.png)

To save your changes back to the Model.bim file, click the save button or hit CTRL+S. If you opened an existing Tabular Database, the changes are saved directly back to the database. You will be prompted if the database was changed since you loaded it into Tabular Editor. You can always undo your changes by pressing CTRL+Z.

Expand All @@ -61,7 +61,7 @@ If you want to deploy your model to another location, go to the "Model" menu and
## Deployment
Tabular Editor comes with a deployment wizard that provides a few benefits compared to deploying from SSDT - especially when deploying to an existing database. After choosing a server and a database to deploy to, you have the following options for the deployment at hand:

![Deployment Wizard](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/Deployment.png)
![Deployment Wizard](~/content/assets/images/getting-started-te-05.png)

Leaving the "Deploy Connections" box unchecked, will make sure that all the data sources on the target database stay untouched. You will get an error if your model contains one or more tables with a data source, that does not already exist in the target database.

Expand Down Expand Up @@ -104,6 +104,6 @@ Tabular Editor lets you use C# to script changes to the loaded model. This is pr

The Advanced Script editor has some limited IntelliSense functionality to get you started:

![IntelliSense helps you create scripts for Tabular Editor](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/AdvancedEditor%20intellisense.png)
![IntelliSense helps you create scripts for Tabular Editor](~/content/assets/images/getting-started-te-06.png)

More documentation and examples on Advanced Scripting, can be [found here](../how-tos/Advanced-Scripting.md).
2 changes: 1 addition & 1 deletion content/getting-started/editions.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Similarly, [Power BI Premium-Per-User workspaces do not support Direct Lake data

If you attempt to open a model that uses one or more of the modeling restrictions listed above, while on a TE3 Business Edition license, you will see the error message below:

![This edition of Tabular Editor 3 does not support Enterprise-tier semantic models](https://github.com/TabularEditor/TabularEditorDocs/assets/8976200/7ef69593-ea4b-4a16-a8df-543f5c31ac65)
![This edition of Tabular Editor 3 does not support Enterprise-tier semantic models](~/content/assets/images/editions-01.png)

There are no other feature differences between the Tabular Editor 3 editions, than the ones listed above.

Expand Down
14 changes: 7 additions & 7 deletions content/how-tos/incremental-refresh2-h.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,24 @@ Datasets hosted in the Power BI service can have [Incremental Refresh](https://d

1. Connect to the Power BI XMLA R/W endpoint of your workspace, and open the dataset on which you want to configure Incremental Refresh.
2. Incremental refresh requires the `RangeStart` and `RangeEnd` parameters to be created ([more information](https://docs.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-configure#create-parameters)), so let's start by adding two new Shared Expressions in Tabular Editor:
![Add shared expressions](https://user-images.githubusercontent.com/8976200/121341006-8906e900-c920-11eb-97af-ee683ff40609.png)
![Add shared expressions](~/content/assets/images/incremental-refresh2-01.png)
3. Name them `RangeStart` and `RangeEnd` respectively, set their `Kind` property to "M" and set their expression to the following (the actual date/time value you specify doesn't matter, as it will be set by the PBI service when starting the data refresh):
```M
#datetime(2021, 6, 9, 0, 0, 0) meta [IsParameterQuery=true, Type="DateTime", IsParameterQueryRequired=true]
```
![Set kind property](https://user-images.githubusercontent.com/8976200/121342389-dc2d6b80-c921-11eb-8848-b67950e55e36.png)
![Set kind property](~/content/assets/images/incremental-refresh2-02.png)
4. Next, select the table on which you want to enable incremental refresh
5. Set the `EnableRefreshPolicy` property on the table to "true":
![Enable Refresh Policy](https://user-images.githubusercontent.com/8976200/121339872-3842c080-c91f-11eb-8e63-a051b34fb36f.png)
![Enable Refresh Policy](~/content/assets/images/incremental-refresh2-03.png)
6. Configure the remaining properties according to the incremental refresh policy you need. Remember to specify an M expression for the `SourceExpression` property (this is the expression that will be added to partitions created by the incremental refresh policy, which should use the `RangeStart` and `RangeEnd` parameters to filter the data in the source). The = operator should only be applied to either RangeStart or RangeEnd, but not both, as data may be duplicated.
![Configure Properties](https://user-images.githubusercontent.com/45298358/170603450-8232ad55-0b4a-4ead-b113-786a781f94ad.png)
![Configure Properties](~/content/assets/images/incremental-refresh2-04.png)
7. Save your model (Ctrl+S).
8. Right-click on the table and choose "Apply Refresh Policy".
![Apply Refresh Policy](https://user-images.githubusercontent.com/8976200/121342947-78577280-c922-11eb-82b5-a517fbe86c3e.png)
![Apply Refresh Policy](~/content/assets/images/incremental-refresh2-05.png)

That's it! At this point, you should see that the Power BI service has automatically generated the partitions on your table, based on the policy you specified.

![Generated Partitions](https://user-images.githubusercontent.com/8976200/121343417-eef47000-c922-11eb-8731-1ac4dde916ef.png)
![Generated Partitions](~/content/assets/images/incremental-refresh2-06.png)

The next step is to refresh the data in the partitions. You can use the Power BI service for that, or you can refresh the partitions in batches using [XMLA/TMSL through SQL Server Management Studio](https://docs.microsoft.com/en-us/power-bi/connect-data/incremental-refresh-xmla#refresh-management-with-sql-server-management-studio-ssms), or even using [Tabular Editor's scripting](https://www.elegantbi.com/post/datarefreshintabulareditor).

Expand Down Expand Up @@ -81,7 +81,7 @@ var effectiveDate = new DateTime(2020, 1, 1); // Todo: replace with your effect
Selected.Table.ApplyRefreshPolicy(effectiveDate);
```

![Use scripts to apply refresh policy](https://user-images.githubusercontent.com/8976200/121344362-f9633980-c923-11eb-916c-44a35cf03a36.png)
![Use scripts to apply refresh policy](~/content/assets/images/incremental-refresh2-07.png)

## Removing Incremental Refresh using Tabular Editor

Expand Down
2 changes: 1 addition & 1 deletion content/how-tos/perspectives-translations.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ applies_to:
# Working with Perspectives and Translations
You can add/edit existing perspectives and translations (cultures), by clicking the Model node in the Explorer Tree, and locating the relevant properties at the bottom of the property grid. Alternatively, when your Explorer Tree is [showing all object types](../features/hierarchical-display.md), you can view and edit perspectives, cultures and roles directly in the tree.

![](https://raw.githubusercontent.com/TabularEditor/TabularEditor/master/Documentation/RolesPerspectivesTranslations.png)
![](~/content/assets/images/perspectives-translations-01.png)

You can duplicate an existing perspective, role or translation by opening the right-click menu and choose "Duplicate". This will create an exact copy of the object, which you can then modify to your needs.

Expand Down
2 changes: 1 addition & 1 deletion content/how-tos/replace-tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ applies_to:
# Replace tables
You can replace a table simply by copying (CTRL+C) one table - even from another instance of Tabular Editor - and then selecting the table you want to replace, before hitting paste (CTRL+V). A prompt will ask you to confirm whether you really want to replace the table ("Yes"), insert as a new table ("No") or cancel the operation entirely:

![image](https://user-images.githubusercontent.com/8976200/36545892-40983114-17ea-11e8-8825-e8de6fd4e284.png)
![image](~/content/assets/images/replace-tables-01.png)

If you choose "Yes", the selected table will be replaced with the table in the clipboard. Furthermore, all relationships pointing to or from that table will be updated to use the new table. For this to work, columns participating in relationships must have the same name and data type in both the original table, and the inserted table.
Loading
Loading