eb5ad653d24ed5406e8da349a0784fddc0ac9177
FAQ/Questions/reports-and-tenants.md
| ... | ... | @@ -33,15 +33,15 @@ Here is a chart demonstrating accessibility between a user's CurrentUserTenantId |
| 33 | 33 | |
| 34 | 34 | ###Tenant Field |
| 35 | 35 | |
| 36 | -The [[TenantField|/API/CodeSamples/TenantField]] setting allows per-report filtering based on the value of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentTenantId]]. Here are the rules about **ReportSets**. |
|
| 36 | +The [[TenantField|/API/CodeSamples/TenantField]] setting allows per-report filtering based on the value of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentUserTenantId]]. Here are the rules about **ReportSets**. |
|
| 37 | 37 | |
| 38 | 38 | * Every **ReportSet** contains a list of the **DataSources** used with it. |
| 39 | 39 | * Every **DataSource** has a list of **Fields** associated with it. |
| 40 | 40 | * Every **Field** can have a set of applied **Filters**. |
| 41 | 41 | |
| 42 | -This creates a high level of control over what is filtered. Essentially, the system will look at the ReportSet's DataSources, find the Field specified by [[TenantField|/API/CodeSamples/TenantField]] and apply a hidden filter to that field using the value of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentTenantId]]. |
|
| 42 | +This creates a high level of control over what is filtered. Essentially, the system will look at the ReportSet's DataSources, find the Field specified by [[TenantField|/API/CodeSamples/TenantField]] and apply a hidden filter to that field using the value of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentUserTenantId]]. |
|
| 43 | 43 | |
| 44 | -So, if the [[TenantField|/API/CodeSamples/TenantField]] property is specified, the hidden filter of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentTenantId]] will be added every time report is populated. |
|
| 44 | +So, if the [[TenantField|/API/CodeSamples/TenantField]] property is specified, the hidden filter of the user's [[CurrentUserTenantId|/API/CodeSamples/CurrentUserTenantId]] will be added every time report is populated. |
|
| 45 | 45 | |
| 46 | 46 | So, the generated SQL will look like the following: |
| 47 | 47 | |
| ... | ... | @@ -59,7 +59,7 @@ If [[TenantField|/API/CodeSamples/TenantField]] is NOT specified we will see the |
| 59 | 59 | |
| 60 | 60 | ![Customer order report output]() |
| 61 | 61 | |
| 62 | -Now let’s specify [[TenantField|/API/CodeSamples/TenantField]] and [[CurrentUserTenantId|/API/CodeSamples/CurrentTenantId]]: |
|
| 62 | +Now let’s specify [[TenantField|/API/CodeSamples/TenantField]] and [[CurrentUserTenantId|/API/CodeSamples/CurrentUserTenantId]]: |
|
| 63 | 63 | |
| 64 | 64 | ```csharp |
| 65 | 65 | public class CustomAdHocConfig : DatabaseAdHocConfig |
| ... | ... | @@ -78,4 +78,4 @@ With these properties set, we will see a completely different report: |
| 78 | 78 | |
| 79 | 79 | As you can see the results are filtered by the “Customer ID” field now. And only those matching “ALFKI” will be populated. |
| 80 | 80 | |
| 81 | -_**Note:** You must always specify [[CurrentUserTenantId|/API/CodeSamples/CurrentTenantId]] to use [[TenantField|/API/CodeSamples/TenantField]]. The only exception is reports scheduler (details in the below section)._ |
|
| ... | ... | \ No newline at end of file |
| 0 | +_**Note:** You must always specify [[CurrentUserTenantId|/API/CodeSamples/CurrentUserTenantId]] to use [[TenantField|/API/CodeSamples/TenantField]]. The only exception is reports scheduler (details in the below section)._ |
|
| ... | ... | \ No newline at end of file |