The model designer is often required to add additional fields to tables, so that the information presented to the user is better suited for decision-making purposes. This can include creating new fields that are combinations of other fields within the same table or a calculation that is dependent on data in another table. This recipe looks at the first of these options to create new fields that use other fields within the same table.
The model used in this recipe starts with the model that was created in the previous recipe Using tabular relationships to filter data.
Switch to the data view in the PowerPivot window and select the
Productstable. Select the
Colourcolumn by right-clicking on the column header and selecting Insert Column from the pop-up menu (note that the entire column must be selected). The new column is inserted to the left of the
Colourcolumn. Change the name of the CalculatedColumn1 to
Product Name WC(product name with code).
Enter the following formula into any cell of the new column.
=[Product Name]&" (" & [Product ID] & ")"
All rows of the table will be automatically populated.
Switch to the
Salestable. Double-click on the header row of the last column (the current header is Add Column) and change the name of the column to
total_profit. Enter the following formula into any cell of the Profit column with the format of the column as currency.
The designer has two built-in functions that enable the easy creation of formulas. If the formula is being typed, an intellisense window will open in the formula bar, and show a list of objects that match what is being typed. Simply navigate to the desired column (or cell in the measure grid) and start typing, then press return to use the provided intellisense option (you can use arrow keys to select a function, table and column). Alternatively, a column or table name can be included in the formula by clicking on the column or table while the formula is being typed.
This recipe introduces Data Analysis Expressions (DAX) as the language that is used in tabular modeling. From this recipe, we can see that the DAX language is very similar to an Excel calculation (there are some noticeable differences which are addressed in chapters). Also, note that in DAX, columns are referred to instead of cells. Furthermore, many Excel functions work exactly the same in DAX as they do in Excel.
In calculating the value for each row, a special filter is applied in the calculation. In these examples where the fields being used in the formula reside on a single row, the filter automatically restricts the value to that of the row. The application of filtering in this manner is commonly referred to as a row filter or a row filter context.