Kusto query language joins not working

Kiwitech Developer 30 Reputation points
2023-10-09T03:51:07.99+00:00

below query was working finer for hardcode

let measure_name_map = datatable(name:string, display_name:string)
[
    'deN7YhOsB088', 'stsNumberofReps',
    'CwKX4G7p378K', 'tugTimeToComplete',
    'qaEAgA172sLI', 'checkedIn',
    'tuJ3vxHjAv8S', 'clinicalSummary',
    'dGWkYkvpx7Rg', 'sessionsAttended',
    'K9rGLIzEnfPK', 'treatmentSummary',
    'qv6Kc3uaFzim', 'treatmentSummaryOptions'
];
let UserAssessmentData = datatable(
    user_id:string,
    timeStamp:datetime,
    assessmentCycle:string,
    measure_name:string,
    measure_value:real,
    measure_value_varchar:string
)
[
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-09), 'IA', 'deN7YhOsB088', 10.5, '10.5',
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-08), 'IA', 'CwKX4G7p378K', 18.3, '15.3',
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-07), 'IA', 'qaEAgA172sLI', 1.0, '1.0',
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-09), 'IA', 'deN7YhOsB081', 10.5, '10.5',
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-08), 'IA', 'CwKX4G7p371K', 15.3, '15.3',
    '87def01c-c48e-4096-8e9a-4feb25a78135', datetime(2023-10-07), 'IA', 'qaEAgA1721LI', 1.0, '1.0'
];
let JoinedData = 
    UserAssessmentData
    | extend ['date'] = format_datetime(timeStamp, 'yyyy-MM-dd')
    | where user_id == '87def01c-c48e-4096-8e9a-4feb25a78135'
    | where assessmentCycle == 'IA'
    | join kind=inner (measure_name_map) on $left.measure_name == $right.name;
JoinedData
| project ['date'], assessmentCycle, element_id = iff(isnotempty(display_name), display_name, measure_name), measureName = iff(isnotempty(display_name), display_name, measure_name), measureValue = toint(measure_value), measureValueChar = tostring(measure_value_varchar)
| order by ['date'] desc

**but below query was not working for dynamic **
let measure_name_map = datatable(name:string, display_name:string)
[
    'deN7YhOsB088', 'stsNumberofReps',
    'CwKX4G7p378K', 'tugTimeToComplete',
    'qaEAgA172sLI', 'checkedIn',
    'tuJ3vxHjAv8S', 'clinicalSummary',
    'dGWkYkvpx7Rg', 'sessionsAttended',
    'K9rGLIzEnfPK', 'treatmentSummary',
    'qv6Kc3uaFzim', 'treatmentSummaryOptions'
];
let JoinedData = 
    UserAssessmentData
    | extend ['date'] = format_datetime(todatetime(timeStamp), 'yyyy-MM-dd')
    | where user_id == '87def01c-c48e-4096-8e9a-4feb25a78135'
    | where assessmentCycle == 'IA'
    | join kind=inner (measure_name_map) on $left.measure_name == $right.name;
JoinedData
| project ['date'], assessmentCycle, element_id = iff(isnotempty(display_name), display_name, measure_name), measureName = iff(isnotempty(display_name), display_name, measure_name), measureValue = toint(measure_value), measureValueChar = tostring(measure_value_varchar)
| order by ['date'] desc
** UserAssessmentData table having  schema like this  **
 .create table UserAssessmentData (record_id: string, user_id: string, assessmentCycle: string, organization_id: string, form_id: string, user_pool_id: string, category: string, measure_name: string, timeStamp: string, measure_value: real, measure_value_varchar: string) 

Azure Data Explorer
Azure Data Explorer
An Azure data analytics service for real-time analysis on large volumes of data streaming from sources including applications, websites, and internet of things devices.
{count} votes

Answer accepted by question author
  1. Wilko van de Velde 2,241 Reputation points
    2023-10-09T06:43:19.7533333+00:00

    Hi @Kiwitech Developer ,

    When I created the table and ingested the records, the second query worked fine. But there are some points you should pay attention to:

    If this not helps, please post your query for creating the table with the data

    Kind regards,
    Wilko


    Please do not forget to "Accept the answer” wherever the information provided helps you, this can be beneficial to other community members. If you have extra questions about this answer, please click "Comment".


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.