Table 361 Analysis by Dim. Parameters
- App
- Base Application
- Namespace
- Microsoft.Finance.Analysis
- Versions
- 17-28
Fields, 23Keys, 1Procedures, 1
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Finance/Analysis/AnalysisByDimParameters.Table.al287 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Finance.Analysis;
using Microsoft.Finance.GeneralLedger.Account;
using Microsoft.Foundation.Enums;
/// <summary>
/// Parameter table for analysis by dimensions functionality storing user selections and filter criteria.
/// Contains all configuration settings for multi-dimensional analysis reports and matrix displays.
/// </summary>
table 361 "Analysis by Dim. Parameters"
{
DataClassification = SystemMetadata;
fields
{
/// <summary>
/// Analysis view code linking to the analysis view configuration used for this analysis.
/// Determines available dimensions, accounts, and aggregation settings.
/// </summary>
field(1; "Analysis View Code"; Code[10])
{
Caption = 'Analysis View Code';
ToolTip = 'Specifies the code for the analysis view that the filter belongs to.';
TableRelation = "Analysis View";
DataClassification = SystemMetadata;
}
/// <summary>
/// Dimension option for matrix row display determining what data appears on rows.
/// Controls the vertical dimension breakdown in analysis by dimensions reports.
/// </summary>
field(3; "Line Dim Option"; Enum "Analysis Dimension Option")
{
DataClassification = SystemMetadata;
}
/// <summary>
/// Dimension option for matrix column display determining what data appears on columns.
/// Controls the horizontal dimension breakdown in analysis by dimensions reports.
/// </summary>
field(4; "Column Dim Option"; Enum "Analysis Dimension Option")
{
DataClassification = SystemMetadata;
}
/// <summary>
/// Date filter expression for period-based analysis and transaction filtering.
/// Limits analysis to specific date ranges and period boundaries.
/// </summary>
field(5; "Date Filter"; Text[250])
{
Caption = 'Date Filter';
ToolTip = 'Specifies the dates that will be used to filter the amounts in the window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Account filter for limiting analysis to specific G/L accounts or Cash Flow accounts.
/// Supports complex filter expressions for account range selection.
/// </summary>
field(6; "Account Filter"; Text[250])
{
Caption = 'Account Filter';
ToolTip = 'Specifies a filter for the general ledger accounts for which entries will be shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Business unit filter for consolidation analysis limiting to specific business units.
/// Used in multi-company scenarios for consolidated financial analysis.
/// </summary>
field(7; "Bus. Unit Filter"; Text[250])
{
Caption = 'Business Unit Filter';
DataClassification = SystemMetadata;
}
/// <summary>
/// Cash flow forecast filter for limiting analysis to specific forecast scenarios.
/// Used when analyzing cash flow account source data with multiple forecasts.
/// </summary>
field(8; "Cash Flow Forecast Filter"; Text[250])
{
Caption = 'Cash Flow Forecast Filter';
ToolTip = 'Specifies the cash flow forecast that information in the matrix is shown for.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Budget filter for limiting analysis to specific G/L budget names.
/// Enables budget vs actual comparisons for selected budget scenarios only.
/// </summary>
field(9; "Budget Filter"; Text[250])
{
Caption = 'Budget Filter';
ToolTip = 'Specifies the budget that information in the matrix is shown for.';
DataClassification = SystemMetadata;
}
/// <summary>
/// First dimension value filter for dimension-based analysis restrictions.
/// Limits analysis to specific dimension 1 values based on analysis view setup.
/// </summary>
field(10; "Dimension 1 Filter"; Text[250])
{
ToolTip = 'Specifies a filter for the Dimension 1 for which entries will be shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Second dimension value filter for dimension-based analysis restrictions.
/// Limits analysis to specific dimension 2 values based on analysis view setup.
/// </summary>
field(11; "Dimension 2 Filter"; Text[250])
{
ToolTip = 'Specifies a filter for the Dimension 2 for which entries will be shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Third dimension value filter for dimension-based analysis restrictions.
/// Limits analysis to specific dimension 3 values based on analysis view setup.
/// </summary>
field(12; "Dimension 3 Filter"; Text[250])
{
ToolTip = 'Specifies a filter for the Dimension 3 for which entries will be shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Fourth dimension value filter for dimension-based analysis restrictions.
/// Limits analysis to specific dimension 4 values based on analysis view setup.
/// </summary>
field(13; "Dimension 4 Filter"; Text[250])
{
ToolTip = 'Specifies a filter for the Dimension 4 for which entries will be shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Controls whether to show actual amounts, budget amounts, or variance in analysis.
/// Determines the primary data display mode for budget vs actual comparison.
/// </summary>
field(20; "Show Actual/Budgets"; Enum "Analysis Show Amount Type")
{
Caption = 'Show';
ToolTip = 'Specifies if the selected value is shown in the window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Specifies which amount field to display in the analysis matrix cells.
/// Controls whether to show net change, balance at date, debit/credit amounts, etc.
/// </summary>
field(21; "Show Amount Field"; Enum "Analysis Show Amount Field")
{
ToolTip = 'Specifies the type of entries that will be included in the matrix window. The Amount options means that amounts that are the sum of debit and credit amounts are shown.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Controls whether closing entries are included or excluded from analysis.
/// Determines if year-end closing transactions should be part of the analysis data.
/// </summary>
field(22; "Closing Entries"; Option)
{
Caption = 'Closing Entries';
ToolTip = 'Specifies whether the balance shown will include closing entries. If you want to see the amounts on income statement accounts in closed years, you must exclude closing entries.';
OptionCaption = 'Include,Exclude';
OptionMembers = Include,Exclude;
DataClassification = SystemMetadata;
}
/// <summary>
/// Rounding factor for amount display in analysis reports and matrix views.
/// Controls the precision and scale of amounts shown (1, 1000, 1000000, etc.).
/// </summary>
field(23; "Rounding Factor"; Enum "Analysis Rounding Factor")
{
Caption = 'Rounding Factor';
ToolTip = 'Specifies the factor that is used to round the amounts.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Indicates whether amounts should be displayed in additional reporting currency.
/// Enables multi-currency analysis using the additional reporting currency setup.
/// </summary>
field(24; "Show In Add. Currency"; Boolean)
{
Caption = 'Show Amounts in Add. Reporting Currency';
ToolTip = 'Specifies whether to show the reported amounts in the additional reporting currency.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Controls whether column names are displayed in matrix reports.
/// Enables or disables column header display for better readability.
/// </summary>
field(25; "Show Column Name"; Boolean)
{
Caption = 'Show Column Name';
ToolTip = 'Specifies that the names of columns are shown in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Indicates whether amounts should be displayed with opposite sign.
/// Useful for converting debits to credits or changing sign conventions.
/// </summary>
field(26; "Show Opposite Sign"; Boolean)
{
Caption = 'Show Opposite Sign';
ToolTip = 'Specifies whether to show debits as negative amounts (with minus signs) and credits as positive amounts in the matrix window.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Period type for time-based analysis and matrix column generation.
/// Controls the granularity of period-based analysis (Day, Week, Month, etc.).
/// </summary>
field(30; "Period Type"; Enum "Analysis Period Type")
{
Caption = 'View by';
ToolTip = 'Specifies by which period amounts are displayed.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Column set identifier for matrix navigation and column position tracking.
/// Maintains the current position in multi-column analysis displays.
/// </summary>
field(31; "Column Set"; Text[250])
{
Caption = 'Column Set';
ToolTip = 'Specifies the range of values that are displayed in the matrix window, for example, the total period. To change the contents of the field, choose Next Set or Previous Set.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Amount type for balance analysis determining the calculation method.
/// Controls whether to show net change, balance at date, or movement amounts.
/// </summary>
field(33; "Amount Type"; Enum "Analysis Amount Type")
{
Caption = 'View as';
ToolTip = 'Specifies how amounts are displayed. Net Change: The net change in the balance for the selected period. Balance at Date: The balance as of the last day in the selected period.';
DataClassification = SystemMetadata;
}
/// <summary>
/// Account source type determining whether to analyze G/L or Cash Flow accounts.
/// Controls the data source and available dimensions for analysis processing.
/// </summary>
field(34; "Analysis Account Source"; Enum "Analysis Account Source")
{
Caption = 'Analysis Account Source';
DataClassification = SystemMetadata;
}
}
keys
{
key("Key 1"; "Analysis View Code")
{
Clustered = true;
}
}
trigger OnInsert()
begin
end;
trigger OnModify()
begin
end;
trigger OnDelete()
begin
end;
trigger OnRename()
begin
end;
/// <summary>
/// Gets the minimum date from the date filter expression for period boundary calculations.
/// Provides the starting date for analysis range validation and period setup.
/// </summary>
/// <returns>Minimum date from the date filter or zero date if no filter is set</returns>
procedure GetRangeMinDateFilter(): Date
var
TempGLAccount: Record "G/L Account" temporary;
begin
if "Date Filter" <> '' then begin
TempGLAccount.SetFilter("Date Filter", "Date Filter");
exit(TempGLAccount.GetRangeMin("Date Filter"));
end;
end;
}