Question: I would like to iterate over a map in selmer, in such a way that allows my to print the keys as well as the values. As far as I can see this is not supported out of the box, so I have tried the following:

```
(defn mapper-tag [args context-map content]
  (when-let [map-data (get context-map (keyword (first args))
                           (get context-map (first args)))]
    (apply str (for [[k v] map-data]
                 (selmer.parser/render (get-in content [:mapper :content]) {:key k :val v})))))

(selmer.parser/add-tag! :mapper mapper-tag :endmapper)
(selmer.parser/render  "{% mapper m %}KEY {{key}} \n{% endmapper %}"  {:m  {:a 1 :b 1}})

```

I expect this to output something like 
`KEY a
KEY b`

But it outputs

`KEY
KEY`

Any pointers?

Answer: 
`DataLabel.Text` is a method for a `Point`, not the `NewSeries`

This code:

```
For r = 2 To Selection.Rows.Count
    With bubbleChart.Chart.SeriesCollection.NewSeries
        [...]
        .DataLabel.Text = "txt"
    End With 
Next

```

...attempts to label the series, and fails. 

Recognizing this code as being from another famous example of "multi-series Bubble Charts", it is a logical assumption that we only need to handle 1 data point per series, which makes the following code the solution:

```
For r = 2 To Selection.Rows.Count
    With bubbleChart.Chart.SeriesCollection.NewSeries
        [...]
        .Points(1).HasDataLabel = True
        .Points(1).DataLabel.Text = "txt"
    End With 
Next

```
Without using VBA, right click on the bubbles and select Add Data Labels. Then, right click on the data labels and click Format Data Labels. Under Label Options, select Value From Cells and specify the cells containing the labels you'd like to use.