How to get hold of the data in the nested array?

I am trying to build a report in Tempo but I am getting stuck on how to get hold of the data in the nested array. Here is an example of what I am working with along with the report I have built so far. Should I restructure my CDT or is it possible to get the results I want?

CDT defined Data Store Entity
Items--value1
value2
           array--a1 (Milestone Name - start, middle, end)
           a2 (Boolean status - true, null, null)
                     a3 (Datetime Stamp - datetime, datetime, datetime)
                              
Display in SAIL report as:
value1 - value2 - a1 - a2 - a3

load(
local!arrayPaging: a!pagingInfo(
startIndex: 1,
batchSize: 20
),
with(
local!arrayData:
todatasubset(
rule!FetchArray(
ri!matchingid
),
local!arrayPaging)
,
a!gridField(
label: "Display in SAIL report",
totalCount: local!arrayData.totalcount,
columns: {
a!gridTextCol...

OriginalPostID-168593

OriginalPostID-168593

  Discussion posts and replies are publicly visible

Parents
  • Well I have resolved the problem. There are probably more efficient methods for those willing to try. However the journey was fun and has concluded with me deciding to drop the data that has cause me so much trouble in favor of a simpler approach. For reference here was my solution: The analytic report which inspired the SAIL report in the first place turned out to be the data source.

    load(
    local!pagingInfo: a!pagingInfo(
    startIndex: 1,
    batchSize: 20
    /* Change the batch size to -1 if this interface will be used when offline */
    ),
    with(
    local!candidateData: a!queryProcessAnalytics(
    report: cons!CandidateQPA,
    contextProcessModels: cons!CandidatePMcontext,
    query: a!query(
    filter: a!queryFilter(
    field: "c15",
    operator: "=",
    value: ri!roleppidpk
    ),
    pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 20)
    )
    ),
    a!gridField(
    label: "Candidates",
    totalCount: local!candidateData.totalcount,
    columns: {
    a!gridTextColumn(label: "Candidate", field: "c3", data: index(local!candidateData.data, "c3", {})),
    a!gridTextColumn(label: "Received", field: "c3", data: {apply(text(_,"dd/mm/yyyy hh:mm"),index(local!candidateData.data, "c4", {}))}),
    a!gridImageColumn(label: "Review", field: "c6", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c6", {}))}),
    a!gridImageColumn(label: "Test", field: "c7", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c7", {}))}),
    a!gridImageColumn(label: "Interview 1", field: "c8", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c8", {}))}),
    a!gridImageColumn(label: "Interview 2", field: "c9", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c9", {}))}),
    a!gridTextColumn(label: "Status", field: "c12", data: index(local!candidateData.data, "c12", {}))
    },
    value: local!pagingInfo
    )
    )
    )
Reply
  • Well I have resolved the problem. There are probably more efficient methods for those willing to try. However the journey was fun and has concluded with me deciding to drop the data that has cause me so much trouble in favor of a simpler approach. For reference here was my solution: The analytic report which inspired the SAIL report in the first place turned out to be the data source.

    load(
    local!pagingInfo: a!pagingInfo(
    startIndex: 1,
    batchSize: 20
    /* Change the batch size to -1 if this interface will be used when offline */
    ),
    with(
    local!candidateData: a!queryProcessAnalytics(
    report: cons!CandidateQPA,
    contextProcessModels: cons!CandidatePMcontext,
    query: a!query(
    filter: a!queryFilter(
    field: "c15",
    operator: "=",
    value: ri!roleppidpk
    ),
    pagingInfo: a!pagingInfo(startIndex: 1, batchSize: 20)
    )
    ),
    a!gridField(
    label: "Candidates",
    totalCount: local!candidateData.totalcount,
    columns: {
    a!gridTextColumn(label: "Candidate", field: "c3", data: index(local!candidateData.data, "c3", {})),
    a!gridTextColumn(label: "Received", field: "c3", data: {apply(text(_,"dd/mm/yyyy hh:mm"),index(local!candidateData.data, "c4", {}))}),
    a!gridImageColumn(label: "Review", field: "c6", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c6", {}))}),
    a!gridImageColumn(label: "Test", field: "c7", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c7", {}))}),
    a!gridImageColumn(label: "Interview 1", field: "c8", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c8", {}))}),
    a!gridImageColumn(label: "Interview 2", field: "c9", data: {apply(rule!CandidateProgressIcons,index(local!candidateData.data, "c9", {}))}),
    a!gridTextColumn(label: "Status", field: "c12", data: index(local!candidateData.data, "c12", {}))
    },
    value: local!pagingInfo
    )
    )
    )
Children
No Data