Table Selection
When configuring indicators, selecting the right table is crucial. This guide explains how to choose and work with table selection in Advanced Spreadsheets and Reporting.
Accessing Table Selection
When creating an indicator:
- Open the Define Indicator page
- Click the assist-edit (…) button on the Table Name field
- The Select Table page opens
- Browse or search for the desired table
Understanding Tables
What is a Table?
In Business Central, tables store data:
- Customers are stored in the Customer table
- Sales orders are stored in the Sales Header table
- Ledger entries are stored in various Ledger Entry tables
Tables Available
Indicators can read from any table in Business Central:
- Standard tables (Customer, Vendor, Item, etc.)
- Ledger entry tables (G/L Entry, Customer Ledger Entry, etc.)
- Document tables (Sales Header, Purchase Header, etc.)
- Custom tables from other extensions
Common Tables for Indicators
Transactional Tables
| Table | Common Uses |
|---|---|
| G/L Entry | Financial metrics, account-based indicators |
| Customer Ledger Entry | Receivables, customer aging |
| Vendor Ledger Entry | Payables, vendor aging |
| Bank Account Ledger Entry | Cash position, bank balances |
| Item Ledger Entry | Inventory movements |
| Value Entry | Inventory values, cost analysis |
Master Data Tables
| Table | Common Uses |
|---|---|
| Customer | Customer counts, customer data |
| Vendor | Vendor counts, vendor data |
| Item | Item counts, item data |
| G/L Account | Account metadata |
Document Tables
| Table | Common Uses |
|---|---|
| Sales Header | Sales orders, quotes, invoices |
| Sales Line | Order line details |
| Purchase Header | Purchase orders, invoices |
| Purchase Line | Purchase line details |
Specialized Tables
| Table | Common Uses |
|---|---|
| Job Ledger Entry | Project-based metrics |
| FA Ledger Entry | Fixed asset tracking |
| Employee Ledger Entry | Employee-related metrics |
Selecting the Right Table
For Financial Metrics
Revenue, Costs, Profits:
- Use: G/L Entry
- Filter by: G/L Account No., Posting Date
- Method: Sum (Amount field)
Receivables/Payables:
- Use: Customer/Vendor Ledger Entry
- Filter by: Open = Yes, Due Date
- Method: Sum (Remaining Amount)
For Operational Metrics
Order Counts:
- Use: Sales Header / Purchase Header
- Filter by: Document Type, Status
- Method: Count
Inventory Levels:
- Use: Item Ledger Entry
- Filter by: Item No., Entry Type
- Method: Sum (Quantity)
For Master Data Metrics
Customer Count:
- Use: Customer table
- Filter by: Customer Group, Location, etc.
- Method: Count
Table Selection Interface
Browsing Tables
The Select Table page lists every table object with two columns:
- Table: The table caption
- Number: The table's object ID
Searching Tables
To find tables quickly:
- Use the page search or a column filter on Table or Number
- Results filter as you type
- Select the matching table and click OK
Table Permissions
Access Requirements
The user running the report needs:
- Read permission on the selected table
- Permission to the records that match filters
Permission Errors
If a table is inaccessible:
- The report fails with a permission error when the indicator calculates (the indicator does not silently return 0)
- Check user permissions
- Verify license allows access
Advanced Table Selection
Linked Tables
Some metrics require data from linked tables:
- Sales Header linked to Sales Line
- Customer linked to Customer Ledger Entry
Choosing Parent vs Child
| Metric Type | Table to Use |
|---|---|
| Header count | Header table |
| Line values | Line table |
| Summary by header | Header or ledger |
| Detail analysis | Line tables |
Example: Sales Analysis
Count of Orders:
Table: Sales Header
Filter: Document Type = Order
Method: Count
Order Line Values:
Table: Sales Line
Filter: Document Type = Order
Method: Sum
Field: Line Amount
Custom Tables
Extension Tables
Tables from other extensions can be used if:
- The extension is installed
- User has permission to access
Finding Custom Tables
- Filter the Select Table page on the vendor's object ID range
- Ask the extension vendor for table names or IDs
- Check extension documentation
Troubleshooting Table Selection
Table Not Found
If expected table doesn't appear:
- Check spelling and search terms
- Try searching by table ID
- Verify the table exists in your BC version
Wrong Data Returned
If indicator returns unexpected data:
- Verify correct table selected
- Check that filters are appropriate
- Test with simpler filters first
Performance Issues
Some tables are very large:
- Add appropriate filters
- Consider using date filters
- Use summary tables where possible
Table Selection Tips
Start Simple
- Begin with common tables
- Test basic scenarios
- Add complexity gradually
Verify Data
- Know what data the table contains
- Understand the table's structure
- Test indicator to verify results
Document Choices
- Note which table you chose and why
- Document filter logic
- Record expected results