Incubator-superset: unhashable type: 'dict'

Created on 13 May 2019  路  8Comments  路  Source: apache/incubator-superset

A clear and concise description of what the bug is.

Expected results

Display a simple table of my data. (Ultimately I want to plot a time series line graph of values).

I have the following csv

datetime,level
2019-04-07 17:30:00,0.401
2019-04-07 17:45:00,0.402
2019-04-07 18:00:00,0.402
2019-04-07 18:15:00,0.402
2019-04-07 18:30:00,0.402

When you display the data or a line graph, you get an unhashable type 'dict' for numeric column.

Actual results

unhashable type: 'dict'

Traceback (most recent call last):
  File "/home/superset/superset/views/base.py", line 118, in wraps
    return f(self, *args, **kwargs)
  File "/home/superset/superset/utils/decorators.py", line 63, in wrapper
    check_perms(*args, **kwargs)
  File "/home/superset/superset/views/core.py", line 122, in check_datasource_perms
    force=False,
  File "/home/superset/superset/views/utils.py", line 114, in get_viz
    force=force,
  File "/home/superset/superset/viz.py", line 112, in __init__
    self.process_metrics()
  File "/home/superset/superset/viz.py", line 126, in process_metrics
    self.metric_dict[label] = o
TypeError: unhashable type: 'dict'

Screenshots

Screenshot 2019-05-12 at 20 48 34

How to reproduce the bug

  1. Upload a CSV containing data as sample above.
  2. Run query on the table using parameters as in screenshot.
  3. See error

Environment

Built using these commands

git clone https://github.com/apache/incubator-superset/
cd incubator-superset/contrib/docker
# prefix with SUPERSET_LOAD_EXAMPLES=yes to load examples:
docker-compose run --rm superset ./docker-init.sh
# you can run this command everytime you need to start superset now:
docker-compose up

Checklist

Make sure these boxes are checked before submitting your issue - thank you!

  • [ x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
  • [ x] I have reproduced the issue with at least the latest released version of superset.
  • [ x] I have checked the issue tracker for the same issue and I haven't found one similar.
#bug inactive

Most helpful comment

It would be great to have a more meaningful error message though, this one is really cryptic :)

All 8 comments

Issue-Label Bot is automatically applying the label #bug to this issue, with a confidence of 0.59. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

You have to apply an aggregation to your metric (levels).

Thanks for reply @davidhassan. But why can I not visualise via a line graph datetime on X axis and levels (metric) on Y axis?

You can do that but you need to add an aggregation to your data even if it is not required in the metrics sections.

So that the metrics section looks like SUM(levels) or whatever aggregation you chose. Then you need to set the time grain to 5 minutes.

It would be great to have a more meaningful error message though, this one is really cryptic :)

@elukey This is very true.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.

璋㈣阿

Was this page helpful?
0 / 5 - 0 ratings

Related issues

john-bodley picture john-bodley  路  3Comments

gbrian picture gbrian  路  3Comments

deity-bram picture deity-bram  路  3Comments

ghost picture ghost  路  3Comments

sashank picture sashank  路  3Comments