Overview
This is a Power BI Dashboard created using the Tiller Spreadsheet (Google Sheets) to get quick insights on your Net Worth, Balances, Expenses, Bill Payments, etc.,
What is the goal of your workflow? What problem does it solve?
- To help analyze the spending pattern each month and compare it with the previous months.
- Get a high level overview on the balances and investment performance
- Find answers based on the data using natural language
How did you come up with the idea for your workflow?
With all the Tiller data available across multiple tabs in the Spreadsheet, it gets hard to switch between these tabs to have a birdâs eye view of whatâs going on with our finances. And a lot of times, the questions that we need answers for might vary and we have to apply some filters manually in the sheets to get the data we need.
So, I wanted to create a Dashboard that can give me these insights at a glance and also able to give answers to me just using natural language using AI.
Installation
Here is the sample Tiller Spreadsheet and the Power BI report that you would need to set up the dashboard.
Download and install Power BI Desktop in your PC (currently available for Windows OS only, but not on Mac or Linux).
Once you install the Power BI Desktop app, download the â.PBIXâ file and open it.
Are there dependent sheets?
This Dashboard relies on the sheets âTransactionsâ, âCategoriesâ, âAccountsâ & âBill Payment Trackerâ.
The first 3 sheets would be available for everyone by default with the Foundation Template.
âBill Payment Trackerâ is optional, but I would recommend to install this from the Tiller Community Solutions, if not done already.
Setup
Hereâs the video which gives you a demo of the dashboard and also details the step-by-step process of the setup. This should hopefully make it easier to follow.
Configuring the Tiller Spreadsheet
Transactions Sheet:
In the Transactions Sheet, add the below columns, if you donât have these already.
You can add the missing columns at the right end. Update the below formulas in the header row.
-
Tags - Add a column with the name as âTagsâ and leave it blank, if youâre not using it already
-
Type
=arrayformula(if(row(D1:D)=1,"Type",iferror(vlookup(D1:D,{indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")),indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Type",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Type",Categories!$1:$1,0),4),1,""))},2,FALSE),"")))
-
Group
=arrayformula(if(row(D1:D)=1,"Group",iferror(vlookup(D1:D,{indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")),indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Group",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Group",Categories!$1:$1,0),4),1,""))},2,FALSE),"")))
-
Hide From Reports
=arrayformula(if(row(D1:D)=1,"Hide From Reports",iferror(vlookup(D1:D,{indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Category",Categories!$1:$1,0),4),1,"")),indirect("Categories!$"&SUBSTITUTE(ADDRESS(1,MATCH("Hide From Reports",Categories!$1:$1,0),4),1,"")&"$2:$"&SUBSTITUTE(ADDRESS(1,MATCH("Hide From Reports",Categories!$1:$1,0),4),1,""))},2,FALSE),"")))
You might already have Tags column, as some of the templates use that column extensively. This Dashboard works even if you have multiple values separated by comma in the column Tags.
The other columns âTypeâ, âGroupâ & âHide From Reportsâ are also added into the Transactions sheet, to make it easier for reporting.
Power BI Sheet:
Copy the Power BI tab from the sample sheet into your actual Tiller spreadsheet.
To copy, right click on the tab name and select âCopy toâ->âExisting spreadsheetâ and select your actual spreadsheet.
Open your Tiller spreadsheet and rename the sheet name from âCopy of Power BIâ to âPower BIâ.
Navigate to âData"â"Named rangesâ from the menu. Delete the 3 named ranges that begin with âPower BIâ and re-create them with the below names.
To delete a named range, click on the edit icon next to the range name and then choose delete icon.
- Select the range âA1:C20â and click on âAdd a rangeâ. Name it as âInvestmentPerformanceâ without any quotes
- Similarly select the range âE1:I50â and create a named range as âLatestBalancesâ
- Select âK1:N25â and create named range as âBillsDueInAWeekâ
Replace the sample data that is available in columns âA-Câ and update it with your own data, if available. Else, leave the headers and delete the data in the rest of the rows
Accounts Sheet:
The Accounts sheet is hidden by default. If you click on the hamburger menu in the Tabs section (bottom left), you will see the Accounts sheet is greyed out. Click on it, to open the tab.
I would recommend you to update the Group for each Account that you had linked to Tiller, to avoid showing up as Ungrouped Assets and Liabilities. (Ex: Savings, Credit, Loan, Retirement, Investment)
Bill Payment Tracker Sheet:
In order to see the bills due in a week or past due in the Notifications, I would recommend you to install the âBill Payment Trackerâ template from the Tiller Community Solutions and add your Bills, if not done already.
But, this is optional and the Power BI report will still work even if you donât have this.
Copy the link to your Google Sheets and keep it handy
Configuring the Power BI report
Update the source to your Tiller Spreadsheet
-
Open the Power BI report using the .PBIX file shared above. Navigate to âHomeâ tab in the top ribbon and select âTransform dataâ. This will open up the Power Query Editor
-
Select the âTransactionsâ query on the left and click on the step named as âSourceâ in the Applied Steps on the right pane and replace the URL with the link to your Google Sheets that you just copied earlier
-
Since the data source is changed, you should authorize the access to read the Google Sheets for your Power BI report. To do this, click on âEdit credentialsâ button and select âSign inâ.
-
Once the access is granted, return to the Power BI Desktop app and click on âContinueâ button
-
Repeat the update of the URL for all the queries under the âMaster Queriesâ group
-
If you have Tags column or any other columns other than âCategoryâ, âGroupâ and Months in the Categories sheet, add it in the step named âRemoved Columnsâ in the query âBudget by Categoriesâ, along with the columns âTypeâ and âHide From Reportsâ
-
Once done, click on âClose & Applyâ from the top ribbon. This will take you to the Report view, where you need to select âApply changesâ button the top
Customize Bills & Savings with your own Groups/Categories
At this point, most of the report should be good enough, except for the âBillsâ & âSavingsâ on the top, where you might see (Blank).
To fix it, update the formulas to match your own custom Categories
-
Expand the Measures Table and update the formula for all the measures under âCommonâ folder with the Groups or Categories that you wish to consider for each type of data
- For example, you might have the Bills under the Group as âBillsâ. But, in the sample sheet we have it under âLivingâ
- So, you would need to replace Transactions[Group] = âLivingâ with Transactions[Group] = âBillsâ
-
Please note that whatever Groups or Categories that you are considering for Bills & Savings, those need to be excluded in the Expenses
-
There are 4 measures created to get Expenses & Budgets. The same filters need to be applied in all 4 places mentioned below
- Budgetâ"Budget Allocated"
- Budgetâ"Expenses - Current Month"
- Commonâ"Expenses"
- âExpenses - Delinkedâ
-
Also, update the filters to exclude the Groups/Categories in your expense charts
- Open the âSummaryâ page and select the âTop 5 Expense Categoriesâ chart
- Open the Filters Pane and exclude the groups that you have for âBillsâ & âSavingsâ, instead of âLivingâ & âSavingsâ
- Similarly, open the âExpense Trendâ page and select on one of the charts to update the filter for the Group same as the previous step
Update your local currency (if it isnât USD)
If your local currency is not USD, then you can update the currency of the Amount fields in the report as follows:
- Click on the measure name and select the dropdown next to the dollar($) sign in the top ribbon to choose your local currency
- Also, update the no: of decimal places field from âAutoâ to â0â (zero), if it is set to Auto
- Repeat this step for the below listed Amount fields.
- Budget Allocated
- Expenses - Current Month
- Bills
- Expenses
- Income
- Savings
- Expenses - Delinked
- TransactionsâAmount
- TransactionsâPositive Amount
- Investment PerformanceâInvested
- Investment PerformanceâReturns
- Latest BalancesâActual Amount
Usage
Summary Page:
- This gives an overview of the Cash Flow, Top 5 Expense Categories, Balances and Investment Performance.
- It also shows the budget left, based on the budget that youâve assigned in your Categories sheet
- If you hold Ctrl and click on the bell icon on the top left, you will be able to see the below
- No: of uncategorized transactions
- Bills due in a week or past due
Expense Trend Page:
- This shows your spending pattern by Group/Category/Tag/Account for the last 3-6 months.
- You can also filter and highlight the visuals using these options
Query Page:
-
For getting answers from your data, you can use this page, where you can ask questions in natural language and get the result either as a single value/table/charts
-
Here are some examples you can try:
- Sum of amount in transactions using Chase Freedom with date between 14th Apr 2023 and 13th May 2023
- Savings by calendar month year
Permissions
Is it ok for others to copy, use, and modify your workflow?
Absolutely⌠Feel free to try it out and let me know if you face any issues or if you have any ideas to get better insights
Notes
This Power BI Dashboard currently works just in Windows OS (not on Mac or Linux). But, if you have a Microsoft 365 Work Account, you can create this report directly in the Power BI service, which is a cloud based solution.
FAQ
-
What should I do if I just want to consider just specific categories as âBillsâ or âSavingsâ, but not Groups?
In this case, replace Transactions[Group] = âLivingâ with Transactions[Category] = âUtilitiesâ
If you have multiple Categories as Bills, you can add a pipe symbol and provide multiple categories in the filter.
Ex: Transactions[Category] = âUtilitiesâ || Transactions[Category] = âSubscriptionsâ -
My data doesnât get refreshed. What should I do?
Navigate to Home tab and click on âRefreshâ button to refresh the dataset