How to display the value of an enumeration in a table, as opposed to a 1x1 array of the enumeration class?

10 ビュー (過去 30 日間)
See the attached image. In my table, I have a series of asset types. Ideally, my table would display 'cash' or 'bond' instead of 1x1 Asset Type...
Is this possible?
  4 件のコメント
Walter Roberson
Walter Roberson 2018 年 2 月 7 日
Hmmmm... I am finding information on customizing display of objects to the screen, but not on how to customize display within a composite structure. And for enumerations, my tests with the WeekDays demonstration enumeration seem to be ignoring the customization I am adding.
But my tests do not show the same behaviour you are describing:
>> t = table([WeekDays.Monday;WeekDays.Wednesday])
t =
2×1 table
Var1
_________
Monday
Wednesday
Is it possible that your AssetType is more than just an enumeration, or possible that you are storing a cell of enumeration values instead of individual enumeration values?
Simon Parten
Simon Parten 2018 年 2 月 8 日
See the attached screenshot. I've also tried the custom display route for the customistation of the display inside a composite structure...
without getting anywhere!

サインインしてコメントする。

回答 (2 件)

Peter Perkins
Peter Perkins 2018 年 2 月 7 日
Simon, I forget exactly what release (I'm guessing R2016a or b), but sometime after tables were originally released in R2014b, the display was updated to do what I think you are asking:
>> t = table(rand(3,1),[WeekDays.Monday; WeekDays.Monday;WeekDays.Tuesday])
t =
3×2 table
Var1 Var2
_______ _______
0.48976 Monday
0.44559 Monday
0.64631 Tuesday
  3 件のコメント
Walter Roberson
Walter Roberson 2018 年 2 月 8 日
Ah so this is a variable browser issue...
Simon Parten
Simon Parten 2018 年 2 月 8 日
Apologies, I think I expressed the question poorly... I don't work so much with the console so didn't think to test it :-/

サインインしてコメントする。


Marco Norambuena
Marco Norambuena 2019 年 2 月 15 日
Any update on this?
  3 件のコメント
Marco Norambuena
Marco Norambuena 2019 年 2 月 18 日
I don't know if this helps anybody, but at least is a quick workaround.
You can just re-cast the enumeration element by a string.
Just do
table(string([AssetType.Bond; AssetType.Flex]))
enum in table.png
Simon Parten
Simon Parten 2019 年 2 月 18 日
Yes... altough the use case is to preserve some functionality implicit in the enumeration... methods etc.
It means we need a 'view' column and an 'entitiy' column... then when you get to reporting time things get a bit weird. It's a workaorund... but for me not an attractive one :-).
But thanks for posting.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeEnvironment and Settings についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by