Forum Discussion

Balogh1Bence's avatar
Balogh1Bence
Helper II
5 years ago
Solved

using array of selectionIDs in tooptipService.show

Is it possible to give an array of selectinID-s in the identities property of the object passed to the toolTipService.show?
  • dm-p's avatar
    5 years ago

    Hi Balogh1Bence

    This show() method just supports a single selection ID, as report page tooltips work off a single selection ID that contains the necessary measures and/or columns + values) to trigger it.

    If you need multiple values for a category, for example, you can chain .withCategory() for all applicable data view indicies when generating the selection ID.

    Let's say you want to generate an ID for elements 0, 10, and 32 from your category column's values array (numbers are aribtrary).

    Crude pseudocode (assuming you already have the column stored as a variable) would be something like:

    const builder = host.createSelectionIdBuilder();
    const selectionId = builder
        .withCategory(categoryColumn, 0)
        .withCategory(categoryColumn, 10)
        .withCategory(categoryColumn, 32)
        .createSelectionId();
    

    This can then be passed to your tooltip's show() method to ensure that all three values are selected.

    You can chain the .with* methods as many times a you need (including measures and matrix/table nodes, depending on how your data view mapping is set up).

    You're also able to work this approach into an iterator, so if you have an array of selected values and their indices, you would declare the builder outside the loop, so it's appropriately scoped and then you can incrementally call the .with* method in the iterator on each pass. This will append the ID onto the outer-scoped builder.

    Once complete, you can call .createSelectionId() on your builder variable to get an accumulated selection ID with multiple points that you can pass to a tooltip.

    Regards,

    Daniel