Skip to content

8. ANUBO Custom Functions Premium

ANUBO custom functions are Microsoft Excel formulas that retrieve XBRL data directly. They’re available in the Analyzer edition and provide dynamic, recalculating data.

General Notes on Custom Functions: Normally, users don’t need to worry about the parameters of custom functions, as they are created automatically in the background based on selections made in the task pane. However, it is possible to modify these parameters manually or with automatic assistance at any time. This flexibility proves particularly useful when creating reports with time series or when transferring existing analyses to another company.
Note on Terminology: In anuboXBRL documentation and function parameters, we use the term “concept” to refer to both taxonomy definitions and reported values (facts) in company reports. This simplified terminology is more intuitive for finance professionals. Technically, XBRL distinguishes between concepts (taxonomy definitions) and facts (actual values in reports). For more details, see the Glossary in Chapter 11.

8.1 Core Data Functions Premium

These functions retrieve the main financial/non-financial data from XBRL reports:

FunctionPurposeReturns
ANUBO.XBRLLabelGet human-readable label for a conceptText (e.g., “Revenue from Contract with Customer”)
ANUBO.XBRLValueGet value for a concept and periodNumber or Text (numbers properly scaled)
ANUBO.XBRLTABLELABELGet label for table cell (concept + dimensions)Text
ANUBO.XBRLTABLEVALUEGet value for table cell (concept + dimensions)Number or Text (numbers properly scaled)

8.2 Metadata Functions Premium

These functions provide additional information about the XBRL report and its data, useful for headers, footnotes, and data validation:

FunctionPurposeReturns
ANUBO.XBRLReportCompanyGet the company name from the reportText (e.g., “Microsoft Corporation”)
ANUBO.XBRLReportDateGet the report closing dateDate (YYYY-MM-DD format)
ANUBO.XBRLDATASETPERIODGet dataset period informationText (period description)
ANUBO.XBRLUNITGet the unit for a specific conceptText (e.g., “USD”, “shares”, “pure”)
ANUBO.XBRLDECGet decimal information for a conceptNumber (decimal precision)
ANUBO.XBRLCONTEXTPERIODGet context period informationText (period context details)
ANUBO.XBRLDimensionGet dimension member for a conceptText (dimension member value)

8.3 Function Syntax Premium

About the CompanyAbreviation parameter After you upload an XBRL report, the user assigns it a Company Abbreviation. This abbreviation can contain any information about the type of report, such as “10K” for annual reports. This abbreviation is the value you pass as the CompanyAbreviation parameter in all ANUBO functions (e.g., “DEMO_MICROSOFT_10K” or “MICROSOFT_10K”). You can see and select this abbreviation in Company & ReportsSelect. If you want to change it later, use Rename in Company & Reports — the new abbreviation becomes the value to use in your formulas.

Core Data Functions Premium

ANUBO.XBRLLabel

Purpose: Retrieve the human-readable label for a concept at a specific period. This function returns the display name (e.g., “Revenue from Contract with Customer, Excluding Assessed Tax”) instead of the technical concept ID (e.g., “us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax”).

Syntax (preferred – using dates) =ANUBO.XBRLLabel(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, ConceptID)

Optional (expert – using contextRef) =ANUBO.XBRLLabel(CompanyAbreviation, closingDate, contextRef, "", "", ConceptID)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “us-gaap:Revenue”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to retrieve the label for that context directly.

Returns A text value with the human-readable label for the concept (e.g., “Revenue from Contract with Customer, Excluding Assessed Tax”). If the concept is not found, returns an error message.

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both.

  • With dates, datasetEndDate is required; datasetStartDate is optional and helps disambiguate when multiple duration periods share the same end date.

  • With contextRef, leave datasetStartDate and datasetEndDate empty.

  • This function returns labels that are typically used in financial statements, making your Excel reports more readable than using raw concept IDs.

  • If you pass a linkRole URI (starting with “http://”) as the ConceptID, the function returns the table definition for that link role.

Example – Duration period (preferred)

=ANUBO.XBRLLabel(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax”)

Returns: Revenue from Contract with Customer, Excluding Assessed Tax

Example – Instant period (preferred)

=ANUBO.XBRLLabel(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“us-gaap:Assets”)

Returns: Assets

Example – Expert (using contextRef)

=ANUBO.XBRLLabel(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"","",“us-gaap:Revenue”)

Returns: Revenue from Contract with Customer, Excluding Assessed Tax

ANUBO.XBRLValue

Purpose: Retrieve the value for a concept at a specific period. This function returns the actual data value (number or text) instead of the label, with numeric values properly scaled according to the XBRL decimals information. This is the primary function for extracting financial data from XBRL reports into your Excel worksheets.

Syntax (preferred – using dates) =ANUBO.XBRLValue(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, ConceptID)

Optional (expert – using contextRef) =ANUBO.XBRLValue(CompanyAbreviation, closingDate, contextRef, "", "", ConceptID)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “us-gaap:Revenue”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to retrieve the value for that context directly.

Returns A numeric value (properly scaled) or text value depending on the concept type. For example, revenue values are returned as numbers with appropriate scaling (e.g., millions). Text concepts return their text value. If the concept is not found, returns an error message. For abstract concepts, returns an empty string.

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both.

  • With dates, datasetEndDate is required; datasetStartDate is optional and helps disambiguate when multiple duration periods share the same end date.

  • With contextRef, leave datasetStartDate and datasetEndDate empty.

  • Numeric values are automatically scaled based on the XBRL decimals information. For example, if decimals = -6, the value is displayed in millions.

  • This is the most commonly used function for extracting actual financial data from XBRL reports into Excel.

  • Use ANUBO.XBRLLabel in combination with this function to create readable reports with both labels and values.

Example – Duration period (preferred)

=ANUBO.XBRLValue(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax”)

Returns: 51556 (properly scaled, in millions)

Example – Instant period (preferred)

=ANUBO.XBRLValue(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“us-gaap:Assets”)

Returns: 364840 (properly scaled)

Example – Expert (using contextRef)

=ANUBO.XBRLValue(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"","",“us-gaap:Revenue”)

Returns: 51556 (properly scaled)

ANUBO.XBRLTABLELABEL

Purpose: Retrieve the human-readable label for table-related elements in structured financial statements. This function returns different types of labels depending on the WhichLabel parameter: table titles, axis-member labels, row concept labels, or period labels. Useful for building comprehensive report headers and labels that match the structure of XBRL tables (presentation linkbases).

Syntax (preferred – using dates) =ANUBO.XBRLTABLELABEL(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, TableRole, RowConcept, AxisMemberCombo, WhichLabel)

Optional (expert – using contextRef) =ANUBO.XBRLTABLELABEL(CompanyAbreviation, closingDate, contextRef, "", "", TableRole, RowConcept, AxisMemberCombo, WhichLabel)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Required when WhichLabel is “period”. Leave empty for instants or when not retrieving period labels.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used. Required when WhichLabel is “period”.

  • TableRole: Link role URL that identifies the specific table (financial statement) in the report (e.g., “http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”).

  • RowConcept: Concept QName for the row (e.g., “us-gaap:Revenue”). Required when WhichLabel is “rowConcept”.

  • AxisMemberCombo: Dimension notation combining axis and member (e.g., “srt:ProductOrServiceAxis:us-gaap:ProductMember”). Required when WhichLabel is “axisMember”.

  • WhichLabel: Type of label to return. Must be one of: "table" (table title), "axisMember" (axis and member label), "rowConcept" (row concept label), or "period" (period label).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef (note: may not be fully supported for all label types).

Returns The requested label as text, depending on WhichLabel: "table": Returns the table title (e.g., “Consolidated Statements of Income”) "axisMember": Returns the axis and member label (e.g., “Product or Service – Product”) "rowConcept": Returns the row concept label (e.g., “Revenue from Contract with Customer”) "period": Returns the period label formatted as “YYYY-MM-DD – YYYY-MM-DD” for duration periods If the requested label is not found, returns an error message.

Notes

  • The WhichLabel parameter determines what type of label is returned and which other parameters are required.

  • For WhichLabel="period", provide dates (preferred) using datasetStartDate and datasetEndDate.

  • For WhichLabel="table", only TableRole is required; RowConcept and AxisMemberCombo can be empty.

  • For WhichLabel="axisMember", provide AxisMemberCombo; RowConcept can be empty.

  • For WhichLabel="rowConcept", provide RowConcept; AxisMemberCombo can be empty.

  • The TableRole (link role URL) identifies which financial statement table to use from the report’s presentation structure.

Example – Table title

=ANUBO.XBRLTABLELABEL(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”,"","",“table”)

Returns: Consolidated Statements of Income

Example – Row concept label

=ANUBO.XBRLTABLELABEL(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”,“us-gaap:Revenue”,"",“rowConcept”)

Returns: Revenue from Contract with Customer, Excluding Assessed Tax

Example – Period label (duration)

=ANUBO.XBRLTABLELABEL(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”,"","",“period”)

Returns: 2024-01-01 – 2024-12-31

ANUBO.XBRLTABLEVALUE

Purpose: Retrieve the value for a table cell in structured financial statements. This function returns the actual data value (number or text) from a specific table cell, with numeric values properly scaled according to the XBRL decimals information. Unlike ANUBO.XBRLValue, this function works with table structures (presentation linkbases) and requires you to specify the table, row concept, and dimension member to locate the exact cell.

Syntax (preferred – using dates) =ANUBO.XBRLTABLEVALUE(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, TableRole, RowConcept, AxisMemberCombo)

Optional (expert – using contextRef) =ANUBO.XBRLTABLEVALUE(CompanyAbreviation, closingDate, contextRef, "", "", TableRole, RowConcept, AxisMemberCombo)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Required when matching periods in tables. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used. Required to match the period in the table structure.

  • TableRole: Link role URL that identifies the specific table (financial statement) in the report (e.g., “http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”).

  • RowConcept: Concept QName for the row (e.g., “us-gaap:Revenue”).

  • AxisMemberCombo: Dimension notation combining axis and member (e.g., “srt:ProductOrServiceAxis:us-gaap:ProductMember”). Use empty string ("") for non-dimensional facts.

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef (note: may not be fully supported for table-based lookups; dates are preferred).

Returns A numeric value (properly scaled) or text value from the specified table cell. For example, revenue values are returned as numbers with appropriate scaling (e.g., millions). Text concepts return their text value. If the table cell is not found or the period doesn’t match, returns an error message or empty string.

Notes

  • This function is designed for working with structured table layouts (presentation linkbases) in XBRL reports.

  • Provide either dates (preferred) or a contextRef (expert), not both. For table-based lookups, dates are generally required.

  • With dates, datasetEndDate is required; datasetStartDate is optional but helps match the correct period in the table.

  • With contextRef, leave datasetStartDate and datasetEndDate empty (note: contextRef may not be fully supported for table lookups).

  • The function matches the specified period, row concept, and dimension member to find the exact cell in the table structure.

  • Numeric values are automatically scaled based on the XBRL decimals information. For example, if decimals = -6, the value is displayed in millions.

  • Use ANUBO.XBRLTABLELABEL in combination with this function to create readable reports with both labels and values from table structures.

Example – Duration period with dimensions

=ANUBO.XBRLTABLEVALUE(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”,“us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax”,“srt:ProductOrServiceAxis:us-gaap:ProductMember”)

Returns: 51556 (properly scaled, in millions)

Example – Duration period without dimensions

=ANUBO.XBRLTABLEVALUE(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementINCOMESTATEMENTS”,“us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax”,"")

Returns: 51556 (properly scaled)

Example – Instant period

=ANUBO.XBRLTABLEVALUE(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“http://www.microsoft.com/20250331/taxonomy/role/Role_StatementBALANCESHEET”,“us-gaap:Assets”,"")

Returns: 364840 (properly scaled)

ANUBO.XBRLDimension

Purpose: Retrieve the dimension member value for a specific concept at a given period. Dimensions break down data into categories (e.g., by geographic region, product line, or business segment). This function returns the specific member value for a given dimension on a concept.

Syntax (preferred – using dates) =ANUBO.XBRLDimension(CompanyAbreviation, closingDate, "", datasetEndDate, ConceptID, DimensionName)

Optional (expert – using contextRef) =ANUBO.XBRLDimension(CompanyAbreviation, closingDate, contextRef, "", ConceptID, DimensionName)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “ifrs-full:Revenue”).

  • DimensionName: Dimension axis name (e.g., “ifrs-full:GeographicalAreasAxis”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to retrieve the dimension member for that context directly.

Returns The dimension member value as text (e.g., “North America”, “Asia”, “Product A”). If no dimension member is found for the specified concept and period, returns an empty string.

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both. Exactly one must be provided.

  • With dates, datasetEndDate is required to identify the period.

  • With contextRef, leave datasetEndDate empty.

  • The DimensionName should be the axis name (e.g., “ifrs-full:GeographicalAreasAxis”), not the member name.

  • This function is useful when you need to know how data is broken down by dimensions, for example to categorize revenue by region or product line.

Example – Using dates (preferred)

=ANUBO.XBRLDimension(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-12-31”,“ifrs-full:Revenue”,“ifrs-full:GeographicalAreasAxis”)

Returns: Asia (or the appropriate geographic member for that revenue concept)

Example – Expert (using contextRef)

=ANUBO.XBRLDimension(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"",“ifrs-full:Revenue”,“ifrs-full:GeographicalAreasAxis”)

Returns: Asia

Metadata Functions Premium

Metadata functions provide information about the data in XBRL reports. This type of information about data is used for labeling, for example in row headers and tables. The anuboXBRL Analyzer creates these UDFs automatically based on the data in the XBRL reports. The following documentation is intended for power users.

ANUBO.XBRLReportCompany

Purpose: Retrieve the company abbreviation for a specific report. This function returns the company identifier to display context information in your Excel worksheets. This function is commonly used in column headings and report headers to clearly identify which company’s data is displayed in each column.

Syntax =ANUBO.XBRLReportCompany(CompanyAbreviation, closingDate)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

Returns The company abbreviation as text (e.g., “DEMO_MICROSOFT_10K”) if the report exists for the specified company and closing date. Returns an error message if the report is not found or if required parameters are missing.

Notes

  • Both parameters are required.

  • Use this function in report headers and column headings to clearly identify which company’s data is displayed in each column, especially when working with multiple companies in the same workbook.

  • If the report is not found, the function returns an error message indicating the report could not be located.

Example – Basic usage

=ANUBO.XBRLReportCompany(“DEMO_MICROSOFT_10K”,“2024-12-31”)

Returns: DEMO_MICROSOFT_10K

Example – In column heading

=ANUBO.XBRLReportCompany(“DEMO_MICROSOFT_10K”,“2024-12-31”)

Use this in a header row to display the company abbreviation above data columns for that company.

ANUBO.XBRLReportDate

Purpose: Retrieve the report closing date for a specific report. This function returns the report closing date to display context information in your Excel worksheets. This function is commonly used in column headings and report headers to clearly identify which reporting period’s data is displayed in each column.

Syntax =ANUBO.XBRLReportDate(CompanyAbreviation, closingDate)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

Returns A text value formatted as “Report on: YYYY-MM-DD” (e.g., “Report on: 2024-12-31”) if the report exists for the specified company and closing date. Returns an error message if the report is not found, if required parameters are missing, or if the date format is invalid.

Notes

  • Both parameters are required.

  • The closingDate must be in YYYY-MM-DD format (e.g., “2024-12-31”).

  • Use this function in report headers and column headings to clearly identify the reporting period for each column, especially when working with multiple reports or time series in the same workbook.

  • If the report is not found, the function returns an error message indicating the report could not be located.

Example – Basic usage

=ANUBO.XBRLReportDate(“DEMO_MICROSOFT_10K”,“2024-12-31”)

Returns: Report on: 2024-12-31

Example – In column heading

=ANUBO.XBRLReportDate(“DEMO_MICROSOFT_10K”,“2024-12-31”)

Use this in a header row to display the report closing date above data columns for that report period.

ANUBO.XBRLDATASETPERIOD

Purpose: Resolve the actual period used by the selected dataset for a concept. Useful for displaying context information (e.g., report header period) or verifying which dates are in effect.

Syntax (preferred – using dates) =ANUBO.XBRLDATASETPERIOD(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, ConceptID)

Optional (expert – using contextRef) =ANUBO.XBRLDATASETPERIOD(CompanyAbreviation, closingDate, contextRef, "", "", ConceptID)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “us-gaap:Revenue”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to resolve that context’s period directly.

Returns Duration: YYYY-MM-DD – YYYY-MM-DD Instant: YYYY-MM-DD

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both.

  • With dates, datasetEndDate is required; datasetStartDate is optional and helps disambiguate when multiple duration periods share the same end date.

  • With contextRef, leave datasetStartDate and datasetEndDate empty.

Example – Duration (preferred)

=ANUBO.XBRLDATASETPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“us-gaap:Revenue”)

Returns: 2024-01-01 – 2024-12-31

Example – Instant (preferred)

=ANUBO.XBRLDATASETPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“us-gaap:Assets”)

Returns: 2024-12-31

Example – Expert (contextRef)

=ANUBO.XBRLDATASETPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"","",“us-gaap:Revenue”)
ANUBO.XBRLUNIT

Purpose: Retrieve the measurement unit for a concept at a specific period. This function returns the unit information to display context information in your Excel worksheets. This function is commonly used in column headings and report headers to clearly identify which unit of measure applies to the data in each column.

Syntax (preferred – using dates) =ANUBO.XBRLUNIT(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, ConceptID)

Optional (expert – using contextRef) =ANUBO.XBRLUNIT(CompanyAbreviation, closingDate, contextRef, "", "", ConceptID)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “us-gaap:Revenue”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to retrieve the unit for that context directly.

Returns The unit information as text (e.g., “USD”, “EUR”, “shares”, “pure”). If the concept is not found, returns an error message. For abstract concepts, returns an empty string.

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both.

  • With dates, datasetEndDate is required; datasetStartDate is optional and helps disambiguate when multiple duration periods share the same end date.

  • With contextRef, leave datasetStartDate and datasetEndDate empty.

  • This function returns the unit of measure that applies to the concept’s values, which is essential for understanding what the numbers represent (currency, shares, etc.).

  • Common units include currency codes (USD, EUR, GBP), “shares” for share-based metrics, and “pure” for unitless values.

Example – Duration period (preferred)

=ANUBO.XBRLUNIT(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“us-gaap:Revenue”)

Returns: USD

Example – Instant period (preferred)

=ANUBO.XBRLUNIT(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“us-gaap:Assets”)

Returns: USD

Example – Expert (using contextRef)

=ANUBO.XBRLUNIT(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"","",“us-gaap:Revenue”)

Returns: USD

ANUBO.XBRLDEC

Purpose: Retrieve decimal precision information (scaling/accuracy) for a concept at a specific period. This tells you how numbers are scaled (e.g., millions, billions) and helps you understand the precision of reported values. This function is commonly used in column headings.

Syntax (preferred – using dates) =ANUBO.XBRLDEC(CompanyAbreviation, closingDate, "", [datasetStartDate], datasetEndDate, ConceptID)

Optional (expert – using contextRef) =ANUBO.XBRLDEC(CompanyAbreviation, closingDate, contextRef, "", "", ConceptID)

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • datasetStartDate: Optional start date (YYYY-MM-DD) for duration periods. Leave empty for instants.

  • datasetEndDate: Required end/instant date (YYYY-MM-DD) when contextRef is not used.

  • ConceptID: Concept QName (e.g., “us-gaap:Revenue”).

  • contextRef: Optional expert parameter. Normally leave empty (""). Use only if you already know a specific contextRef and want to retrieve decimals for that context directly.

Returns A text value describing the decimal precision and scaling, for example: “in millions” (decimals = -6) “in billions” (decimals = -9) “in thousands” (decimals = -3) “Decimals: -6” (if a specific mapping is not available) Negative decimals indicate the numbers are divided by a power of 10. For example, -6 means divide by 1,000,000 (millions).

Notes

  • Provide either dates (preferred) or a contextRef (expert), not both.

  • With dates, datasetEndDate is required; datasetStartDate is optional and helps disambiguate when multiple duration periods share the same end date.

  • With contextRef, leave datasetStartDate and datasetEndDate empty.

  • This information is automatically applied when using ANUBO.XBRLValue, but this function lets you inspect the scaling explicitly.

Example – Duration period (preferred)

=ANUBO.XBRLDEC(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", “2024-01-01”,“2024-12-31”,“us-gaap:Revenue”)

Returns: in millions

Example – Instant period (preferred)

=ANUBO.XBRLDEC(“DEMO_MICROSOFT_10K”,“2024-12-31”,"", "",“2024-12-31”,“us-gaap:Assets”)

Returns: in millions

Example – Expert (contextRef)

=ANUBO.XBRLDEC(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,"","",“us-gaap:Revenue”)

Returns: in millions

ANUBO.XBRLCONTEXTPERIOD

Purpose: Retrieve the period information for a specific context reference (contextRef). Returns either the end/instant date or both start and end dates. Useful when you already know a contextRef and need to display its period details, for example in report headers or verification.

Syntax =ANUBO.XBRLCONTEXTPERIOD(CompanyAbreviation, closingDate, contextRef, [includeStart])

  • CompanyAbreviation: Company abbreviation (e.g., “DEMO_MICROSOFT_10K”).

  • closingDate: Report closing date (YYYY-MM-DD).

  • contextRef: Required expert parameter. The context reference identifier (e.g., “D2024FY”, “I2024-12-31”). You must know the exact contextRef from the report to use this function.

  • includeStart: Optional. If TRUE, returns both start and end dates. If omitted or FALSE, returns only the end/instant date as text.

Returns If includeStart is omitted or FALSE: A text value with the end/instant date (e.g., "2024-12-31"). If includeStart is TRUE: Both start and end dates are returned, which Excel displays as a two-column result (e.g., start: "2024-01-01", end: "2024-12-31" for duration contexts, or empty start and end: "2024-12-31" for instant contexts).

Notes

  • This function requires a contextRef parameter. Unlike ANUBO.XBRLDATASETPERIOD, you cannot use date parameters with this function.

  • Use includeStart=TRUE when you need both start and end dates, for example when building period labels that show full ranges.

  • Use includeStart=FALSE or omit it when you only need the end date, for example for column headers showing just the period end.

  • If the contextRef does not exist in the report, the function returns an empty result.

Example – End date only (includeStart omitted or FALSE)

=ANUBO.XBRLCONTEXTPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,FALSE)

Returns: 2024-12-31

Example – Start and end dates (includeStart=TRUE)

=ANUBO.XBRLCONTEXTPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,“D2024FY”,TRUE)

Returns: Start date in first column, end date in second column (2024-01-01, 2024-12-31)

Example – Instant context

=ANUBO.XBRLCONTEXTPERIOD(“DEMO_MICROSOFT_10K”,“2024-12-31”,“I2024-12-31”,TRUE)

Returns: Empty first column, end date in second column (empty, 2024-12-31)

8.4 Error Handling Premium

  • #VALUE!: Invalid parameters or concept not found

  • #REF!: Company or report not loaded

  • #N/A: No data available for the specified criteria

Tip: Use the task pane to insert functions automatically with correct parameters, then copy the formula to other cells.