Architecture & Model Design

OneStream Attribute Members: Dynamic Reporting Without Duplicate Data

When we design a OneStream application, the business often wants to analyze financial data in different ways.

For example, a company may load revenue by Product, but management also wants to see revenue by Product Category.

The categories may be Retail, Wholesale, and Consumer.

Now, the source ERP may provide Product codes but may not provide a separate Product Category field for every transaction.

So do we need to create another integration and load the same revenue data again by Product Category?

Not necessarily.

OneStream provides Attribute Members in user-defined dimensions. These allow us to create analytical groupings based on the properties of existing dimension members.

Let’s look at how Attribute Members work and where they can help in an enterprise financial model.

OneStream Attribute Members: Dynamic Reporting Without Duplicate Data

What Are Attribute Members in OneStream?

An Attribute Member is a user-defined dimension member that derives its values from the properties of members in a related dimension.

Unlike a normal input member, an Attribute Member does not store financial data directly.

Instead, OneStream evaluates the configured relationship and returns the relevant data when the member is used in reporting.

For example, suppose we use UD2 for Products.

We have five Product members:

ProductProduct Category
P01Retail
P02Retail
P03Wholesale
P04Retail
P05Consumer

The Product Category can be maintained in a Text property of each Product member.

Now, suppose the business wants to see total Retail sales.

We can configure an Attribute Member to identify the Product members whose category is Retail.

OneStream derives the result from those Product members.

We do not need to load a second copy of the financial data under Retail.

Why We Use Attribute Members

Why We Use Attribute Members

Let’s take a larger enterprise example.

We are implementing OneStream for a company with 2,000 products.

The ERP provides transactions by Product code.

However, the business wants to analyze revenue by Product Category, Brand, and other classifications.

One option is to include each classification in the data integration and store the relevant values at separate dimensional intersections.

That can be appropriate when those classifications must be part of the stored financial model.

But sometimes the requirement is only analytical.

The finance team wants to group existing Product data using information already maintained in metadata.

In that case, Attribute Members may provide a simpler option.

We can use the properties of existing Product members to derive the required reporting groups.

The important point is that we are not creating another independent set of stored financial values.

We are creating a different way to analyze the existing data.

How Attribute Members Work

Let’s continue with the Product example.

UD2 contains the Product members, and their Text1 properties contain the Product Category.

For example:

P01 has Text1 = Retail.

P02 has Text1 = Retail.

P03 has Text1 = Wholesale.

P04 has Text1 = Retail.

P05 has Text1 = Consumer.

We then use another suitable UD dimension to create Attribute Members.

For example, we may use UD5.

Under UD5, we create:

Retail

Wholesale

Consumer

These are analytical members.

We configure each member to reference the appropriate property in the Product dimension.

For the Retail Attribute Member, the configuration identifies members where the relevant UD2 Text1 property equals Retail.

OneStream evaluates the matching Product members and derives the corresponding financial result.

Example: Reporting Revenue by Product Category

Let’s say we have the following Product revenue for January.

ProductCategoryRevenue
P01Retail1,000
P02Retail1,500
P03Wholesale1,200
P04Retail900
P05Consumer1,400
Total6,000

Now, management wants the same revenue reported by category.

Using the Attribute Member configuration, the result can be:

CategoryRevenue
Retail3,400
Wholesale1,200
Consumer1,400
Total6,000

The values are illustrative.

The main point is that the category report derives its results from the existing Product data.

We do not need to submit another 6,000 of revenue into separate category intersections.

This helps us avoid duplicating the same information for an analytical reporting requirement.

How We Configure Attribute Members

Attribute Members are configured in the Dimension Library.

We open the relevant User Defined Dimension and create the required member.

Under the member settings, OneStream provides a property called Is Attribute Member.

We set this property to True.

This enables the attribute-specific configuration.

Several properties then become important.

Source Member For Data

This identifies the base member in the attribute dimension from which the data is referenced.

For example, if UD5 is our analytical dimension and the source financial data is stored at UD5 None, we may use None as the source member.

OneStream requires this to be a base-level member. A parent member cannot be selected for this property.

Comparison Dimension

This identifies the related dimension containing the members we want to classify.

In our example, this is UD2 because UD2 contains Products.

Comparison Property

This identifies the member property used for classification.

OneStream supports properties such as Name, Description, and Text fields.

For our example, we use Text1.

Comparison Text

This identifies the value being matched.

For the Retail Attribute Member, we use Retail.

Comparison Operator

This defines how OneStream compares the property with the text.

The available comparisons include Equals, Not Equals, Starts With, Ends With, Contains, and Does Not Contain.

In our example, we use Equals.

Once configured, OneStream derives the matching data when the Attribute Member is referenced.

Can We Use More Than One Classification Condition?

Yes.

OneStream supports attribute expressions that compare one or two related dimensions.

For example, we may want to analyze products based on two different conditions.

The configuration can use:

Comparison 1 Only

Comparison 1 and Comparison 2

Comparison 1 or Comparison 2

This allows an Attribute Member to represent a more specific reporting group.

For example, we may need a group that includes members meeting both a Product classification and another approved metadata condition.

However, this does not replace the need to design the related UD dimensions correctly.

We need to confirm that the source members, comparison properties, and reporting intersections support the intended result.

What Happens When a New Product Is Added?

Now, let’s say the ERP introduces a new Product called P06.

The Product belongs to the Retail category.

We create the Product member in the appropriate OneStream dimension and maintain its category property.

For example:

P06

Text1 = Retail

If the existing Retail Attribute Member is configured to match that Text1 value, the new Product can be included in the derived Retail result.

We do not need to edit a hard-coded list of Product codes inside the Attribute Member every time a new Retail Product is introduced.

This can simplify metadata maintenance.

However, the classification property must be maintained correctly.

If someone creates P06 but forgets to assign the Retail classification, the Product may not appear in the expected category analysis.

So we still need metadata governance.

Attribute Members and Consolidation Performance

Another useful point is how Attribute Members behave in the financial model.

OneStream documentation explains that Attribute Members derive their data dynamically.

They do not store another copy of the financial values.

The documentation also states that Attribute Members do not increase the size of the Data Unit during consolidation.

This can be useful when the business needs additional analysis without storing more financial intersections.

However, we should not assume that every report using Attribute Members is automatically faster.

The reporting process still needs to evaluate the configured attribute conditions.

The actual performance depends on the application design, member properties, reporting queries, and data volume.

We need to test the result for large reporting requirements.

What Is the Difference Between an Attribute Member and a Normal UD Member?

This is an important design distinction.

A normal UD member can be used as part of a stored data intersection.

For example, Product P01 may be a normal UD member where revenue data is loaded.

An Attribute Member is different.

We do not load revenue directly into Retail.

OneStream derives Retail revenue by evaluating the configured relationships against the source Product members.

So the normal member identifies where data is stored.

The Attribute Member provides an additional analytical classification of that data.

This difference matters when designing integrations and reporting.

Attribute Members and Historical Reporting

This is one area we need to be careful with in enterprise applications.

Suppose Product P01 is classified as Retail in 2026.

Later, the business changes its classification to Consumer.

Now, what should happen to the historical Retail report?

If the Attribute Member uses a current Text property that changes, the derived results may also change.

OneStream documentation explicitly states that Attribute Member results are dynamic and can be affected by changes to related member properties.

The financial data itself may remain unchanged, but the reporting classification can change.

This means Attribute Members are not automatically suitable for every historical reporting requirement.

For example, if the business needs an approved historical report to retain the exact Product classification used at the time of closing, we need to design how that classification is maintained.

OneStream Text properties can vary by Scenario and Time in supported configurations, but we still need to confirm whether that approach satisfies the audit requirement.

We should not rely on current metadata properties when the business requires a fixed historical classification.

Reporting and Drill-Down Considerations

Attribute Members can be used in Cube Views and other supported reporting contexts.

They can help users analyze results without requiring a second stored data set.

However, OneStream documents some limitations.

For example, an Attribute Member does not accept direct input.

Attribute values are not extracted as normal stored data records.

Also, drilling back to Stage Load Results from an Attribute Member intersection is not supported in the same way as from its underlying source member.

If users need detailed source-level reconciliation, they may need to navigate to the underlying data member.

This is important when deciding whether an Attribute Member is suitable for an operational reconciliation report or primarily for management analysis.

What We Check Before Using Attribute Members

During design, we first identify what the business wants to analyze.

For example, does the finance team need Product Category only for reporting, or does it need to load, allocate, and adjust data at Product Category level?

If the category is mainly analytical, we can evaluate Attribute Members.

Next, we confirm where the classification is maintained.

Does the ERP provide it? Is it available as a member property? Who owns the classification?

Then we define how the attribute matches members and what happens when the classification changes.

We also review historical reporting requirements.

Finally, we validate the Attribute Member totals against the source Product data.

The report should return the expected members and financial results.

We should test new Product creation and changes to classification properties before using the design in production.

Common Design Issues

One common mistake is using an Attribute Member where the business actually needs a stored data dimension.

For example, if users need to input financial adjustments directly by category, Attribute Members alone do not provide that input capability.

Another issue is not maintaining the classification properties consistently.

If Product members have missing or incorrect Text values, the derived reporting groups may be incomplete.

We also need to avoid assuming that Attribute Member results are fixed historical values.

Changes to metadata can affect the output.

Finally, we should not use the feature without checking the reporting and drill-down requirements.

Some analysis is better handled through a normal UD structure.

Conclusion

OneStream Attribute Members provide a way to analyze existing financial data using the properties of related dimension members.

They are useful when the business needs additional reporting classifications without creating another set of stored financial data.

For example, we can group Product revenue by Retail, Wholesale, or Consumer using the existing Product members and their metadata properties.

But we need to understand the limitations.

Attribute Members are read-only, their results are dynamic, and changes to metadata can affect historical reporting.

For enterprise implementations, we should use them when the requirement is analytical and the business accepts the dynamic classification behavior.

The objective is to support flexible reporting without adding unnecessary complexity to the financial model.

Frequently Asked Questions

What is an Attribute Member in OneStream?

An Attribute Member is a user-defined dimension member that dynamically derives its values from the properties of members in a related dimension.

Can we load data directly to an Attribute Member?

No. Attribute Members are read-only and do not accept direct data input.

Which properties can Attribute Members use?

OneStream supports comparisons against member Name, Description, and Text properties.

Do Attribute Members increase consolidation Data Unit size?

OneStream documentation states that Attribute Members do not increase Data Unit size during consolidation.

Can Attribute Members use two conditions?

Yes. OneStream supports two comparison conditions using AND or OR logic.

Can changing a Product classification affect historical results?

Yes. Attribute Member results are dynamic. Changing related member properties may affect previously reported classifications unless the design preserves the required historical context.

EPMLogicEPMLogic ConsultingOneStreamOneStream Software
Related Insights

More from the architecture desk.

Architecture & Model Design

OneStream Metadata Builder: How to Manage Bulk Metadata Loads in Enterprise Applications

When we build a OneStream application, one of the first activities is setting up the metadata....

Read more
Architecture & Model Design

Why Headcount Was Counted Twice in Workday Adaptive Planning

The client The client is a global investment fund. They run Workday Financial Management, Workday HCM...

Read more
Architecture & Model Design

OneStream Hybrid Scenarios: Share vs Copy Data for Planning and Forecasting

When we build a planning application in OneStream, one common requirement is moving data between scenarios....

Read more

Discover more from EPMLogic

Subscribe now to keep reading and get access to the full archive.

Continue reading