Forum Discussion
Product combination per customer
Hi guys
I'm struggling here, any help is welcome!
I'm looking to generate a calculated column for each costumer in tabel Dim_Klant that tells me which products are in his contract at the end of any period. These are rental contracts, so the time aspect is important for my visual. I want to track how the product combinations developed over time.
I've created a table for each product that was active at which date.. that's the middle table named [historisch actief]. It's linked to my calendar table by each date that a product in a contract was active.
So now im trying to get a list per costumer in Dim_Klant of the active products that he was renting at the end of any period. I've tried this formula but it says i don't have enough internal memory to perform the calculation.
PMC =
VAR tabelproducten =
CALCULATETABLE( VALUES( Dim_Product[Family] ) ,
FILTER( Fact_CR_historisch_actief, [Contractwaarde einde periode] > 0)
)
Return
CONCATENATEX(
tabelproducten,
Dim_Product[Family],
", ",
Dim_Product[Family],
ASC
)
The "contractwaarde einde periode" measure is as follows:
Contractwaarde einde periode =
var __maxPeriod = MAXX( VALUES( Kalalalender[Date] ) , Kalalalender[Date] )
var resultaat =
CALCULATE(
SUM( Fact_CR_historisch_actief[Aantal_Prijs__c] ),
Kalalalender[Date] = __maxPeriod
)
return
IF( resultaat = 0,0,resultaat)
Is there any other way to do this so my PC has enough memory, or what should i do?
7 Replies
- BertverderrieFrequent Visitor
selimovd can you help me out with this one?
- selimovd
Most Valuable Professional
Hey Bertverderrie ,
it would be easier if you could share the file. Is that possible?
Be aware when you do this as a calculated column, the values are fixed. So calculated columns won't change when you change a slicer. As the table Dim_Klant doesn't contain any date rows, this solution with the calculated column in Dim_Klant won't work.
So I think you should in the report create a matrix with the customer and date on the rows and as a measure you count the amount of data available.
Something like this:
myMeasure = CALCULATE( COUNTROWS( Fact_CR_historisch_actief ), Fact_CR_historisch_actief[Contractwaarde einde periode] > 0 )But again, I can just guess as I don't see the data model and also the result is not totally clear for me.
If you need any help please let me know.If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍Best regardsDenisBlog: WhatTheFact.biFollow me: twitter.com/DenSelimovic- BertverderrieFrequent Visitor
selimovd thanks for the quick response!
I've replicated a sample dataset for the relevant tables. Is this enough for you? https://justbeamit.com/8rpg4
I do need a column because i need to track the amount of clients that had a certain combination of products at any given period. I do see now why i cannot do that in the Dim_Klant table because it has no dates, thanks for that! I've tried to put the column in table Historisch_actief but i can't seem to get it to work..The desired result in this sample is that i can put together a visual that says that on january 4th, 1 customer had active contracts for all 3 product families, and 2 customers had active contracts for only Furniture.