Jun 20 2023 08:30 PM
As you can see in the below image i have created two separate Pivot tables to group the positive and negative values separately.
1. Is there a way to group positive and negative value as sub groups in a single Pivot table instead of two like i have done.
2. Can i use the grand total of positive values and then divide each negative values by the income grand total to get the percentage of the expenses ie. (Each expense)/(Income grand total)*100
This way i can calculate what percentage of my income makes up each of my expenses.
Jun 22 2023 02:27 AM - edited Jun 22 2023 09:23 PM
When you find a minute, When Array table is updated/ sorted, the adjacent column cells aren't aligned/linked is pending your feedback...
Re. your Pivot Table question the following is doable (there's a blank row between Categories for clarity but it can be removed) but not with a classic Pivot Table only, this is a single Pivot though:
You tagged your thread with Excel, Excel on Mac, Excel on mobile, Power BI. The above is acheivable with Excel >= 2013 on Windows and Power BI but not on Excel on Mac. Interested?
Jun 27 2023 08:08 PM
Jun 27 2023 10:03 PM
Hi @Rohan110
Sample attached:
#1 Table1 is loaded to Power Query to Unpivot [Expense] & [Income] (kept the default "Attribute" column name - easy to change)
#2 Unpivoted table loaded to the Excel Data Model (Windows only)
#3 A couple of DAX measures (don't ask too much I have very basic knowledge)
Jun 28 2023 01:56 AM
Jun 28 2023 02:43 AM
Solution
Attached an example with a single [Amount] column with Positive & Negative values:
Edit the query in the attachment and follow the steps in APPLIED STEPS (all done with the UI). Once you've separated your [Income] & [Expense] (the added Custom steps) and removed [Amount] that's no longer necessary, right-click on column [Category] and in the drop-down menu select Unpivot Other Columns
IMPORTANT:
- For [Expense] you'll see I used function Number.Abs to convert to negative [Amount]s to positive. If you want your Expense to show negative in your PivotTable then remove Number.Abs (you will have to adjust the Graph DAX measure)
- When you add Custom Columns [Income] & [Expense] Power Query doesn't auto. Type the columns. Taking ex. [Income] when you create it, it displays exactly as below in PQ formula bar:
You must edit the formula and add, before ): , type number then Validate:
You must do the same for the [Expense] column
Reason is: default data Type in Power Query is Type any. Column(s) of Type any loaded to the Excel Data Model will be assigned the Type Text (no Sum, Avg... possible)
Jul 15 2023 02:32 AM
Hi @Rohan110
Does no news means good news? (Marking solutions helps people who Search...)
Sep 17 2023 02:27 AM
Sep 23 2023 01:50 AM
Simpler step to categorize the data. But thanks. This helped me to segregate into two different categories.
Oct 02 2023 08:19 PM
There is a problem with this approach. As you can see, with this approach, as transfers has both positive and negative values in the data, it gets listed in both income and expense. With this approach I'm unable to calculate my net income and net expenses. Could you please help with this?
Oct 02 2023 11:13 PM
Oct 03 2023 09:10 AM
Note quite sure this will do exactly what you expect....: Aggregate the amounts for the Transfers category. Then, if the aggregated amount is >= 0 Transfers will be reported as Income otherwise as Expense
let
Source = Excel.CurrentWorkbook(){[Name="SourceTable"]}[Content],
ChangedTypes = Table.TransformColumnTypes(Source,{{"Category", type text}, {"Amount", type number}}),
Transfers = Table.Group(
Table.SelectRows(ChangedTypes, each ([Category] = "Transfers")),
{"Category"}, {{"Amount", each List.Sum([Amount]), type nullable number}}
),
OtherCategories = Table.SelectRows(ChangedTypes, each ([Category] <> "Transfers")),
Combined = Table.Combine({OtherCategories, Transfers}),
AddedIncome = Table.AddColumn(Combined, "Income", each
if [Amount] >= 0 then [Amount] else null, type number
),
AddedExpense = Table.AddColumn(AddedIncome, "Expense", each
if [Amount] < 0 then Number.Abs([Amount]) else null, type number
),
RemovedAmount = Table.RemoveColumns(AddedExpense,{"Amount"}),
UnpivotedColumns = Table.UnpivotOtherColumns(RemovedAmount, {"Category"}, "Attribute", "Value")
in
UnpivotedColumns
Jun 28 2023 02:43 AM
Solution
Attached an example with a single [Amount] column with Positive & Negative values:
Edit the query in the attachment and follow the steps in APPLIED STEPS (all done with the UI). Once you've separated your [Income] & [Expense] (the added Custom steps) and removed [Amount] that's no longer necessary, right-click on column [Category] and in the drop-down menu select Unpivot Other Columns
IMPORTANT:
- For [Expense] you'll see I used function Number.Abs to convert to negative [Amount]s to positive. If you want your Expense to show negative in your PivotTable then remove Number.Abs (you will have to adjust the Graph DAX measure)
- When you add Custom Columns [Income] & [Expense] Power Query doesn't auto. Type the columns. Taking ex. [Income] when you create it, it displays exactly as below in PQ formula bar:
You must edit the formula and add, before ): , type number then Validate:
You must do the same for the [Expense] column
Reason is: default data Type in Power Query is Type any. Column(s) of Type any loaded to the Excel Data Model will be assigned the Type Text (no Sum, Avg... possible)