Forum Discussion
Some help on time intelligence please
Dept: Table containing list of departments
On the visual, I want to show Dept Id, Name, it's budget, sum of this year's salaries, sum of last year's salaries, and the difference in salaries between this year and the prior.
It worked when I remove the budget column from the visual.
Okay, I do not have any budgets for 2019 for any of the departments as result all last year salaries are being returned as Blank. So, I went ahead and added the 2019 budgets as well. This brings back last year salaries except for one department. Even though, this department (100) has budgets for both 2019 and 2020.
The entire solution can be downloaded from this link.
What is the best way to tackle the missing budgets to avoid messing up time intelligence calculations?
Thanks.
You need to set up the model as I stated to ensure all values for your Dept ID are included in the table visual:
If you check the DeptId values in the EmpDataFact, Id 500 is missing. There are no rows for this ID in this table (hence the sum of salaries is BLANK). If you use the DeptId field from the EmpDataFact, you will not see data for ID 500.
By establishing the structure as above, and use the fields from the Dept Table in your visuals, you enure that all IDs are present
As regards the values, you need to have an aggregation (SUM, DIVIDE, MAX, MIN...)
If you work with % values, it is probably a good idea to calculate the absolute values deriving from the % for aggregation purposes (In my book, a % in a row of a data table should be used to calculate a value in that row; for final results I would do the % calculation at the end after aggregations are done and over with).
If your values are percentages and ONLY HAVE ONE row per ID (per date period you are calculating against) related to this %, then you can use any of these aggregations (The total as a result is irrelevant since it is not a calcualtion - unless you want something specific shown- you can get rid of the total using ISINSCOPE to show BLANK). If you have more than one row per ID (per date period you are calculating against) as a percentage, you will either have to make calculations prior to aggregating (recommended) or choose which % you wish to be seen/used.
I have used SUM for both salaries and budget amounts, and this is what your data returns.
12 Replies
- PaulDBrownCommunity Champion
Change the model as follows:
1) Delete the relationship between your budget table and the EmpDatafact table.
2) Now create relationships between your Dept table and Date table to your Budget table.this way your Dept table and Date table become the lookup tables for both your Emp data table and you budget table. Use these lookup tables as slicers, filters and in filter expressions in your measures
- jujiro-ebHelper I
Thanks Paul. So, I did what you had suggested.
I am still missing last year's numbers for department 100.
The measure for last year's salary is as following:
Tot Salaries LY = CALCULATE([Tot Salaries],SAMEPERIODLASTYEAR('Date'[Date])) - jujiro-ebHelper I
One more thing. Your solution is also creating the exact same behavior as my original one. The last year's salary figures completely disappear if I do not have any budget data for 2019. I think I switched to my design my removing budgets to link with dept and date dimensions, just for this reason.
- PaulDBrownCommunity Champion
any chance you can share some dummy data from both emp and budget tables?
or the PBIX file istelf if possible
- jujiro-ebHelper I
Hi Pragati,
In your solution, Dept 500 with some budget numbers is not appearing. Also, if you change the Budget to "Don't Summarize," you will see that the numbers are off.
Thanks.