Table "Analysis View"
Defines configurable analysis views for multi-dimensional financial reporting and analysis. Provides pre-aggregated data from G/L entries, cash flow entries, and budget entries with customizable dimension tracking.
Remarks
Core configuration table for the Analysis system. Supports G/L Account and Cash Flow Account sources with up to 4 dimensions. Analysis view entries are created through the UpdateAnalysisView process for optimized reporting performance. Extensibility: OnBeforeValidate events for dimension codes and validation logic customization.
Properties
| Name | Value |
|---|---|
| Caption | Analysis View |
| DataCaptionFields | 1,2 |
| LookupPageID | Page Microsoft.Finance.Analysis."Analysis View List" |
| Permissions | TableData "Analysis View Entry" = rimd, TableData "Analysis View Budget Entry" = rimd |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| Code | Code[10] | Unique identifier for the analysis view configuration. |
| Name | Text[50] | Descriptive name for the analysis view displayed in user interface and reports. |
| "Account Source" | Enum Microsoft.Finance.Analysis."Analysis Account Source" | Source of accounts to include in the analysis view (G/L Account or Cash Flow Account). |
| "Last Entry No." | Integer | Last G/L entry number processed during analysis view update. |
| "Last Budget Entry No." | Integer | Last budget entry number processed during analysis view update. |
| "Last Date Updated" | Date | Date when the analysis view was last updated with transaction data. |
| "Update on Posting" | Boolean | Specifies whether the analysis view should be updated automatically when transactions are posted. |
| Blocked | Boolean | Indicates whether the analysis view is blocked from updates and modifications. |
| "Account Filter" | Code[250] | Filter criteria for selecting which accounts to include in the analysis view based on the account source. |
| "Business Unit Filter" | Code[250] | Filter criteria for selecting business units to include in the analysis view. |
| "Starting Date" | Date | Starting date for transactions to include in the analysis view data. |
| "Date Compression" | Option | Date compression method for aggregating transactions in analysis view entries. |
| "Dimension 1 Code" | Code[20] | Primary dimension code to track in the analysis view for multi-dimensional reporting. |
| "Dimension 2 Code" | Code[20] | Secondary dimension code to track in the analysis view for multi-dimensional reporting. |
| "Dimension 3 Code" | Code[20] | Third dimension code to track in the analysis view for extended multi-dimensional reporting. |
| "Dimension 4 Code" | Code[20] | Fourth dimension code to track in the analysis view for comprehensive multi-dimensional reporting. |
| "Include Budgets" | Boolean | Specifies whether budget data should be included in the analysis view for budget vs. actual comparisons. |
| "Refresh When Unblocked" | Boolean | Indicates that the analysis view should be refreshed when it is unblocked. |
| "Reset Needed" | Boolean | Indicates that the analysis view data needs to be reset and updated. |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
AnalysisViewReset
Resets the analysis view by clearing all analysis view entries and resetting tracking fields.
procedure AnalysisViewReset()
CheckDimensionIsTracked
Checks if a specified dimension code is tracked by any of the four dimension code fields in the analysis view.
procedure CheckDimensionIsTracked(DimensionCode: Code[20]): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| DimensionCode | Code[20] |
Dimension code to check for tracking |
Returns
| Type | Description |
|---|---|
| Boolean |
True if the dimension is tracked in any of the four dimension code fields |
CheckDimensionsAreRetained
Validates that required dimensions are retained for specified objects in analysis views.
procedure CheckDimensionsAreRetained(ObjectType: Integer; ObjectID: Integer; OnlyIfIncludeBudgets: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| ObjectType | Integer |
Type of object to validate dimensions for |
| ObjectID | Integer |
ID of object to validate dimensions for |
| OnlyIfIncludeBudgets | Boolean |
Whether to check only analysis views that include budgets |
CheckViewsAreUpdated
Checks if all analysis views are updated with the latest transaction data and prompts for update if needed.
procedure CheckViewsAreUpdated()
UpdateAllAnalysisViews
Updates all analysis views in the system, optionally showing a progress window.
procedure UpdateAllAnalysisViews(ShowWindow: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| ShowWindow | Boolean |
Whether to display a progress window during the update process |
UpdateLastEntryNo
Updates the last entry number for all non-blocked analysis views to the latest G/L entry number.
procedure UpdateLastEntryNo()
ValidateDelete
Validates that the user confirms deletion of analysis view data when modifying configuration fields.
procedure ValidateDelete(FieldName: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| FieldName | Text |
Name of the field being modified that requires confirmation |
AnalysisViewBudgetReset
Resets the analysis view budget entries by deleting all budget entries and resetting the last budget entry number.
procedure AnalysisViewBudgetReset()
ValidateModify
Validates that the user confirms modification of analysis view data when changing configuration fields.
procedure ValidateModify(FieldName: Text)
Parameters
| Name | Type | Description |
|---|---|---|
| FieldName | Text |
Name of the field being modified that requires confirmation |
CopyAnalysisViewFilters
Copies analysis view dimension filters to selected dimensions for a specified object.
procedure CopyAnalysisViewFilters(ObjectType: Integer; ObjectID: Integer; AnalysisViewCode: Code[10])
Parameters
| Name | Type | Description |
|---|---|---|
| ObjectType | Integer |
Type of object to copy filters to |
| ObjectID | Integer |
ID of object to copy filters to |
| AnalysisViewCode | Code[10] |
Code of analysis view to copy filters from |
CheckIfLastEntryOrDateIsSet
Checks if the analysis view has been configured with last entry tracking or last date updated.
procedure CheckIfLastEntryOrDateIsSet(): Boolean
Returns
| Type | Description |
|---|---|
| Boolean |
True if last entry number or last date updated is set, depending on account source |
SetUpdateOnPosting
Sets the Update on Posting field for all analysis views to the specified value.
procedure SetUpdateOnPosting(NewUpdateOnPosting: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| NewUpdateOnPosting | Boolean |
New value for the Update on Posting field |
SetSkipConfirmationDialogue
Sets a flag to skip confirmation dialogues during analysis view operations.
procedure SetSkipConfirmationDialogue()
RunAnalysisByDimensionPage
Opens the Analysis by Dimensions page for the current analysis view.
procedure RunAnalysisByDimensionPage()
ShowResetNeededNotification
Shows a notification to the user indicating that the analysis view needs to be reset.
procedure ShowResetNeededNotification()
Events
OnAfterAnalysisViewReset
Integration event raised after analysis view reset operations are completed.
[IntegrationEvent(False,False)]
local procedure OnAfterAnalysisViewReset(var AnalysisView: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| AnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record that was reset |
OnAfterCopyAnalysisViewFilters
Integration event raised after copying analysis view filters to selected dimensions.
[IntegrationEvent(False,False)]
local procedure OnAfterCopyAnalysisViewFilters(var AnalysisView: Record "Analysis View"; ObjectType: Integer; ObjectID: Integer; AnalysisViewCode: Code[10]; var GLAcc: Record "G/L Account")
Parameters
| Name | Type | Description |
|---|---|---|
| AnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record with filters being copied |
| ObjectType | Integer |
Type of object receiving the filters |
| ObjectID | Integer |
ID of object receiving the filters |
| AnalysisViewCode | Code[10] |
Code of analysis view being copied from |
| GLAcc | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
G/L Account record for filter context |
OnBeforeValidateDimension1Code
Integration event raised before validating Dimension 1 Code field changes.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateDimension1Code(var Rec: Record "Analysis View"; var xRec: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous analysis view record values |
OnBeforeValidateDimension2Code
Integration event raised before validating Dimension 2 Code field changes.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateDimension2Code(var Rec: Record "Analysis View"; var xRec: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous analysis view record values |
OnBeforeValidateDimension3Code
Integration event raised before validating Dimension 3 Code field changes.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateDimension3Code(var Rec: Record "Analysis View"; var xRec: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous analysis view record values |
OnBeforeValidateDimension4Code
Integration event raised before validating Dimension 4 Code field changes.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateDimension4Code(var Rec: Record "Analysis View"; var xRec: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous analysis view record values |
OnBeforeValidateDateCompression
Integration event raised before validating Date Compression field changes.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateDateCompression(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis view record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous analysis view record values |
| IsHandled | Boolean |
Set to true to skip default validation logic |
OnBeforeValidateBlocked
Integration event raised before validating the Blocked field on Analysis View records. Enables custom validation logic and the ability to bypass standard validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateBlocked(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
| IsHandled | Boolean |
Set to true to skip standard validation |
OnBeforeValidateStartingDate
Integration event raised before validating the Starting Date field on Analysis View records. Enables custom validation logic and the ability to bypass standard validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateStartingDate(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
| IsHandled | Boolean |
Set to true to skip standard validation |
OnBeforeValidateIncludeBudgets
Integration event raised before validating the Include Budgets field on Analysis View records. Enables custom validation logic and the ability to bypass standard validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateIncludeBudgets(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
| IsHandled | Boolean |
Set to true to skip standard validation |
OnBeforeValidateAccountFilter
Integration event raised before validating the Account Filter field on Analysis View records. Enables custom validation logic and the ability to bypass standard validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateAccountFilter(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
| IsHandled | Boolean |
Set to true to skip standard validation |
OnBeforeValidateBusinessUnitFilter
Integration event raised before validating the Business Unit Filter field on Analysis View records. Enables custom validation logic and the ability to bypass standard validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateBusinessUnitFilter(var Rec: Record "Analysis View"; var xRec: Record "Analysis View"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRec | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
| IsHandled | Boolean |
Set to true to skip standard validation |
OnBeforeCheckIfLastEntryOrDateIsSet
Integration event raised before checking if Last Entry or Date field is set on Analysis View records. Enables custom logic for determining analysis view update requirements.
[IntegrationEvent(False,False)]
local procedure OnBeforeCheckIfLastEntryOrDateIsSet(var Rec: Record "Analysis View"; var Result: Boolean; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being checked |
| Result | Boolean |
Result of the check operation |
| IsHandled | Boolean |
Set to true to skip standard check logic |
OnBeforeSetUpdateOnPosting
Integration event raised before setting the Update on Posting field on Analysis View records. Enables custom logic for managing automatic analysis view updates.
[IntegrationEvent(False,False)]
local procedure OnBeforeSetUpdateOnPosting(var Rec: Record "Analysis View"; NewUpdateOnPosting: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| Rec | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being modified |
| NewUpdateOnPosting | Boolean |
New value for Update on Posting field |
OnValidateAccountFilter
Integration event raised when validating account filter on Analysis View records. Enables additional validation or processing during account filter validation.
[IntegrationEvent(False,False)]
local procedure OnValidateAccountFilter(var AnalysisView: Record "Analysis View"; var xRecAnalysisView: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| AnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Current Analysis View record being validated |
| xRecAnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Previous Analysis View record values |
OnLookupAccountFilter
Integration event raised when performing account filter lookup on Analysis View records. Enables custom lookup behavior for account filter field.
[IntegrationEvent(False,False)]
local procedure OnLookupAccountFilter(var Handled: Boolean; var AccountFilter: Text; var AnalysisView: Record "Analysis View")
Parameters
| Name | Type | Description |
|---|---|---|
| Handled | Boolean |
Set to true if custom lookup was performed |
| AccountFilter | Text |
Account filter value being looked up |
| AnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis View record with account filter |
OnGetAnalysisViewSupported
Integration event for determining if an Analysis View is supported by custom implementations. Enables extensibility for additional analysis view types beyond standard G/L and Cash Flow.
[IntegrationEvent(False,False)]
internal procedure OnGetAnalysisViewSupported(var AnalysisView: Record "Analysis View"; var IsSupported: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| AnalysisView | Table Microsoft.Finance.Analysis."Analysis View" |
Analysis View record to validate support for |
| IsSupported | Boolean |
Set to true if the analysis view type is supported |