Forum Discussion

Kay_Kalu's avatar
Kay_Kalu
Helper I
1 year ago
Solved

Dax for matrix table

I have this table image below  Lookin to create a matrix table below  Total Checking Parent Count = Distinct count of unique checking_parent/JIRA_ID where the checking parent matches th...
  • bhanu_gautam's avatar
    1 year ago

    Kay_Kalu , Use

    dax
    TotalCheckingParentCount =
    CALCULATE(
    DISTINCTCOUNT('YourTable'[JIRA_ID]),
    'YourTable'[checking_parent] = 'YourTable'[Checking Parent]
    )

     

    dax
    TotalSQLFeedback =
    CALCULATE(
    DISTINCTCOUNT('YourTable'[Item_ref]),
    'YourTable'[checking_parent] = 'YourTable'[Checking Parent],
    'YourTable'[feedback_category] = "SQL"
    )

     

    dax
    TotalSQLNoFeedback =
    VAR TotalCheckingParent =
    CALCULATE(
    DISTINCTCOUNT('YourTable'[JIRA_ID]),
    'YourTable'[checking_parent] = 'YourTable'[Checking Parent]
    )
    VAR SQLWeighting =
    LOOKUPVALUE(
    'TaskWeighting'[SQLWeighting],
    'TaskWeighting'[Checking Parent], 'YourTable'[Checking Parent]
    )
    VAR TotalFeedback =
    [TotalSQLFeedback]
    RETURN
    (TotalCheckingParent * SQLWeighting) - TotalFeedback

     

    dax
    SQLFailRate =
    DIVIDE(
    [TotalSQLFeedback],
    [TotalSQLNoFeedback],
    0
    )

  • alish_b's avatar
    alish_b
    1 year ago

    Hello Kay_Kalu ,

    Thank you for the sample data.

    Please find the DAX below:

    Total SQL Feedback = 
    VAR FilteredTable =
        FILTER (
            FeedbackData,
            FeedbackData[feedback category] = "SQL"
        )
    VAR DistinctPerJira =
        SUMMARIZE (
            FilteredTable,
            FeedbackData[jira_id],
            "DistinctItems", DISTINCTCOUNT ( FeedbackData[item_ref] )
        )
    RETURN
    SUMX ( DistinctPerJira, [DistinctItems] )

    Now I loaded the sample data as a table called 'FeedbackData' so please update it with your table name and make adjustments as required.

    I have structured the query in sequential blocks so it is easy to understand. First we filter the table for only feedback category = "SQL" (since we are interested in SQL Feedback). Next, we calculate the distinct count of item_ref  for each jira_id and finally sum that up. One assumption I took here is that you don't need this checking_parent = Population Review Check as a hard coded filter rather this will be provided at say row level in visual and needs to be dynamic (if it needs to be static, you can simply add it after the feedback category= 'SQL' condition as

    && FeedbackData[checking_parent] = "Population Review Check")

    Hope it helps!