+ All Categories
Home > Documents > Bumblebee Primer

Bumblebee Primer

Date post: 25-Feb-2018
Category:
Upload: pepitoperezpeludo
View: 237 times
Download: 1 times
Share this document with a friend

of 61

Transcript
  • 7/25/2019 Bumblebee Primer

    1/61

  • 7/25/2019 Bumblebee Primer

    2/61

    1. About

    2. Application Nodes

    i. Read Dataii. Write Data

    3. Graphic Styles

    i. Fill Style

    ii. Text Style

    iii. Border Style

    iv. Legend Style

    v. Graph Style

    vi. Label Style

    vii. Chart Style

    4. Conditional Formatting

    i. Overviewii. Cell Value

    iii. Expression

    iv. 2 Color

    v. 3 Color

    vi. Top/Bottom Percentile

    vii. Data Bar

    5. Charts

    i. Pie Chart

    6. Extras

    i. Search Value GetRow

    ii. Clear Contents

    Table of Contents

    Bumblebee Primer

    2

  • 7/25/2019 Bumblebee Primer

    3/61

    Bumblebee is an Excel Interop extension for Dynamo.

    This is an Open Source project and all code for both Bumblebee nodes as well as this primer can be found at GitHub.

    Majority of Bumblebee was written by Konrad K Sobon, but also majority of it was either previously developed by David

    Mans, or was developed after some great brainstorming sessions with David.

    More information about Bumblebee and other great Open Source projects can be found at my blog website:

    http://www.archi-lab.net

    Also, thanks to folks at Grimshaw Architects for letting me work on this plug-in while there was usually plenty of projects in

    the office that could have used someone to move some toilets around. :-)

    DynamoThis plug-in was developed and tested with the Version 0.8.0.

    UI++is a plugin developed by Adam Sheather that allows you to select colors with great ease. You can see his ColorUI

    Bumblebee Primer

    First Edition V1.0

    Bumblebee and Bumblebee Primer Project

    Software and Resources

    Bumblebee Primer

    3About

    http://www.archi-lab.net/
  • 7/25/2019 Bumblebee Primer

    4/61

    node used throughout this Primer. You can download UI++ from Package Manager.

    A special thanks to David Mans for making such an awesome Excel Interop plug-in for Grasshopper that was not only an

    inspiration for this project but also a great resource and a learning tool. You can access David's website here:

    http://www.neoarchaic.net/

    Also, special thanks to my crew at BadMonkey for doing some early Bumblebee implementation tests and being a great

    resource when developing better functionality. Yes, Adam, I am looking at you and your UI++ tool that is probably the best

    thing that happened to Dynamo in a while.

    Acknowledgements

    Bumblebee Primer

    4About

    http://www.neoarchaic.net/
  • 7/25/2019 Bumblebee Primer

    5/61

    These are nodes that support basic Excel Interop functionality like Read and Write.

    1.0.0 Application Nodes

    Bumblebee Primer

    5Application Nodes

  • 7/25/2019 Bumblebee Primer

    6/61

    You can read Excel files in a number of different ways using Bumblebee. You can read an entire sheet contents, read fromspecified origin point, read only a specific range of data or do all of the former but for multiple sheets.

    FilePath:[FilePath] Use FilePath node to point at Excel file that you wish to read data from.

    RunIt:[Boolean] Set this to True to enable this node and read data from file. Set this to False to disable this node.

    SheetName:[String or List[String]] Set this input to a single sheet name or use a list of sheet names to read multiple

    sheets.

    ByColumn:[Boolean] Set this input to True to read excel data "by column" instead of default excel behavior "by row"

    Origin:[String or List[String]] Leave this input blank and default origin is set to start at A1. You can either supply an

    excel address format: "A1" or a cell index format List[1,1] to set the origin cell from which data will be read

    Extent:[String or List[String]] Leave this input blank and default extent is set to read the whole sheet. You can either

    supply an excel address format: "A13" or a cell index format List[1,13] to constrain the extent of document that you

    want to read.

    1.1.0 Read Data from Excel

    1.1.1 Read Single Sheet - Entire Content

    1.1.2 Read Single Sheet - From Specific Origin

    Bumblebee Primer

    6Read Data

  • 7/25/2019 Bumblebee Primer

    7/61

    In this example we are setting the Origin to be at A6 so data will only be read from that point out since Extent was

    unspecified.

    1.1.3 Read Single Sheet - Specific Range Only

    Bumblebee Primer

    7Read Data

  • 7/25/2019 Bumblebee Primer

    8/61

    In this example we are setting both the Origin and Extent effectively creating a Range of data that we want to read.

    In this example we are setting the Extent only effectively creating a range that starts at the origin of the document: A1 and

    extends to our specified extent input.

    1.1.4 Read Single Sheet - From Specific Extent

    Bumblebee Primer

    8Read Data

  • 7/25/2019 Bumblebee Primer

    9/61

    Tip:You can create the list of sheet names in veriaty of ways. I personally prefer Code Blocks but its not a must andother ways will work just fine. Here's another one:

    1.1.5 Read Multiple Sheets - Entire Content

    Bumblebee Primer

    9Read Data

  • 7/25/2019 Bumblebee Primer

    10/61

    Please make sure that if you are specifying multiple sheet names (List[]) and multiple origins/extents to match their lengths.

    For example if I have a List["FirstSheet","SecondSheet"] and you want to specify a different origin for each sheet to do it

    like so: List["A1","B1"]. You can of course leave the origin/extent inputs blank and defaults discussed earlier will apply.

    Here's an example:

    Tip:As you can see in the image above there is bunch of elements returned that are "Null". This is perfectly normal

    as all empty cells will return a Null value. You can remove all Null values using a seperate utility (Clear List) that can

    be found in Archi-lab (Grimshaw) Package. Please see below:

    Tip:You can use a Cell Index node which is also part of Bumblebee package to convert an excel address from string

    format "A1" to index format [1,1]

    1.1.6 Read Multiple Sheets - From Specific Origin

    Tips and Tricks

    Bumblebee Primer

    10Read Data

  • 7/25/2019 Bumblebee Primer

    11/61

    Tip:While reading multiple sheets from an Excel file it might be a time saver to be able to query up all sheet names

    that file contains without having to open it first. Please use Get Worksheet Names node to do just that, but DO NOT

    use its output to set up Read Excel node as it will cause a conflict.

    Bumblebee Primer

    11Read Data

  • 7/25/2019 Bumblebee Primer

    12/61

    This is probably the most common application for Bumblebee - writing a nested list of data to multiple columns or rows toan Excel spreadsheet. Here's how its done:

    File Path:[FilePath] If file path does not exist, please navigate to directory that you wish to create a new file in and

    instead of selecting it just type in its name and Excel file extension *.xlsx

    RunIt:[Boolean] If set to False it will disable this node. If set to True it will enable this node and execute the write

    process.

    ByColumn:[Boolean] If set to False this file will be written "By Row" which is a standard Excel writing method.

    Setting it to True will be equivelant to performing a Transpose function on data before writing it.

    BBData:[BBData] This is a BBData input. Please see below for how this node can be set up.

    1.2.0 Write Data to Excel

    1.2.1 Write Multiple Rows of Data to Excel

    There is only one rule here: please close Excel when trying to override a file. :-)

    1.2.2 Setting Up BB Data Node

    Bumblebee Primer

    12Write Data

  • 7/25/2019 Bumblebee Primer

    13/61

    For any of the inputs please make sure that you always match their data types. What I mean by that is if you define

    SheetName to be a list of two items: ["Sheet1","Sheet2"] then make sure that Origin is also a matching list: ["A1","A1"] and

    Data is a Nested List of Lists: [[[1,2],[1,2]],[[2,2],[2,2]]].

    SheetName:[String or List[String]] If Sheet Name is a single item, Origin and Data input have to match that. This is a

    Sheet that Data will be written into. If sheet with specified name doesn't exist a new sheet with that name will be

    added to specified Excel document.

    Origin:[String or List[String]] This is origin cell that data writing will start at. By default this input is specified at A1 but

    it can be changed to begin writing from any other location.

    Data:[List[] or Nested List[[]]] This is data that you wish to write to Excel. For now Bumblebee was only tested writing

    Numbers and Strings.

    Bumblebee has ability to write more than one sheet at the time. You can generate a single BB Data node for each sheet

    and then use List.Create to combine them into a list of BB Data objects that can be used as an input to Write Excel node.

    You can also achieve this functionality using a single BB Data node like so:

    You can also combine BB Data nodes in this fashion to write not only to multiple sheets but also to the same sheet but from

    1.2.3 Combining BB Data Nodes to Write Multiple Sheets

    1.2.4 Additional Example

    Bumblebee Primer

    13Write Data

  • 7/25/2019 Bumblebee Primer

    14/61

    a different origin.

    Given large community outcry (yes, I am looking at you - Shane Burger) I decided to include this node in Bumblebee. It will

    allow you to stream data to Excel while Excel is open and results will display/update in Excel instantly - or as fast as it takes

    Excel to refresh.

    This is probably the most common application for Bumblebee - writing a nested list of data to multiple columns or rows to

    an Excel spreadsheet. Here's how its done:

    1.3.0 Write Data to Excel in Live Mode

    One rule here is to have ONLY the document that you intend to override open,

    since this node will write to first Excel file that it encounters in the ROT (Running

    Objects Table).

    1.3.1 Write Multiple Rows of Data to Excel

    Bumblebee Primer

    14Write Data

  • 7/25/2019 Bumblebee Primer

    15/61

    RunIt:[Boolean] If set to False it will disable this node. If set to True it will enable this node and execute the write

    process.

    ByColumn:[Boolean] If set to False this file will be written "By Row" which is a standard Excel writing method.

    Setting it to True will be equivelant to performing a Transpose function on data before writing it.

    BBData:[BBData] This is a BBData input. Please see below for how this node can be set up.

    For any of the inputs please make sure that you always match their data types. What I mean by that is if you define

    SheetName to be a list of two items: ["Sheet1","Sheet2"] then make sure that Origin is also a matching list: ["A1","A1"] and

    Data is a Nested List of Lists: [[[1,2],[1,2]],[[2,2],[2,2]]].

    SheetName:[String or List[String]] If Sheet Name is a single item, Origin and Data input have to match that. This is a

    Sheet that Data will be written into. If sheet with specified name doesn't exist a new sheet with that name will be

    added to specified Excel document.

    Origin:[String or List[String]] This is origin cell that data writing will start at. By default this input is specified at A1 but

    it can be changed to begin writing from any other location.

    Data:[List[] or Nested List[[]]] This is data that you wish to write to Excel. For now Bumblebee was only tested writing

    Numbers and Strings.

    If by any chance you want to create a new Sheet in the current Excel file, just use a SheetName (BB Data input) that

    doesn't exist yet and it will be added.

    1.3.2 Setting Up BB Data Node

    1.3.3 Adding new sheets to Excel.

    Bumblebee Primer

    15Write Data

  • 7/25/2019 Bumblebee Primer

    16/61

    While defining Graphic Style you can chose to either override one or all of the available styles. If you wish to not overrideBorder Style then just leave that input empty.

    FillStyle:[Fill Style] If you supply a fill style to this input it will be overriden to whatever fill style settings were defined

    for that fill style.

    TextStyle:[Text Style] If you supply a text style to this input it will be overridden to whatever text style settings were

    defined for that text style.

    BorderStyle:[Border Style] If you supply a border style to this input it will be overridden to whatever border style

    settings were defined for that text style.

    2.0.0 Graphic Styles

    2.0.1 Define Graphic Style

    Bumblebee Primer

    16Graphic Styles

  • 7/25/2019 Bumblebee Primer

    17/61

    PatternType:[Pattern Type] If you wish to apply fill pattern to a cell use this input to specify it.

    BackgroundColor:[Color] If you wish to specify a background color in a cell use Color.ByARGB node to do so.

    PatternColor:[Color] If you wish to specify pattern color use Color.ByARGB node to do so.

    Bevel:[Bevel Type] Currently unavailable

    Opacity:[Integer] Currently unavailable

    Tip:When defining Pattern Color one has to specify a background color. Pattern color will only "take" when

    Background is defined. I usually define background to be White.

    Tip2:When you chose a "xlSolid" that means that you only have to define BackgroundColor.

    2.1.0 Define Fill Style

    Bumblebee Primer

    17Fill Style

  • 7/25/2019 Bumblebee Primer

    18/61

    Bumblebee Primer

    18Fill Style

  • 7/25/2019 Bumblebee Primer

    19/61

    Name:[String] This input has to be a name of a font that is currently installed on your machine.

    Size:[String] Please specify a size of font to be used as a String. For example: "12" and NOT 12 which would be an

    integer.

    FontColor:[Color] If you wish to specify different than black font color use Color.ByARGB node to do so.

    HorizontalAlignType: [Horizontal Align Type] This can be set to Left, Center or Right.

    VerticalAlignType:[Vertical Align Type] This can be set to Top, Middle or Bottom.

    Bold:[Boolean] Set it to True for font to be bold.

    Italic:[Boolean] Set it to True for font to be italic.

    Underline:[Boolean] Set it to True for font to have an underline.

    Strikethrough:[Boolean] Set it to True for font to have a strikethrough.

    2.2.0 Define Text Style

    Bumblebee Primer

    19Text Style

  • 7/25/2019 Bumblebee Primer

    20/61

    LineType:[Line Type] If you wish to define a line type different than a solid use this input to do so.

    LineWeightType:[Line Weight Type] Line weights can only be one of the following types: Hairline, Medium, Thick or

    Think.

    LineColor:[Color] If you wish to specify line color use Color.ByARGB node to do so.

    2.3.0 Define Border Style

    Bumblebee Primer

    20Border Style

  • 7/25/2019 Bumblebee Primer

    21/61

    LineType:[Line Type] If you wish to define a line type different than a solid use this input to do so.

    LineWeightType:[Line Weight Type] Line weights can only be one of the following types: Hairline, Medium, Thick or

    Think.

    LineColor:[Color] If you wish to specify line color use Color.ByARGB node to do so.

    2.4.0 Define Legend Style

    Bumblebee Primer

    21Legend Style

  • 7/25/2019 Bumblebee Primer

    22/61

    FillStyle:[Fill Style] See Fill Style section for more details.

    TextStyle:[Text Style] See Text Style section for more details.

    BorderStyle:[Border Style] See Border Style section for more details.

    LabelStyle:[Label Style] See Label Style section for more details.

    Explosion:[Integer] Use this input to set the amount of explosion that will be added to Pie Chart.

    2.5.0 Define Graph Style

    2.5.1 Example of a chart with labels and large amount of explosion:

    Bumblebee Primer

    22Graph Style

    http://konradsobon.gitbooks.io/bumblebee-primer/content/260_label_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/230_border_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/220_text_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/210_fill_style.html
  • 7/25/2019 Bumblebee Primer

    23/61

    FillStyle:[Fill Style] See Fill Style section for more details.

    TextStyle:[Text Style] See Text Style section for more details.

    BorderStyle:[Border Style] See Border Style section for more details.

    ShowSeriesName:[Boolean] If set to True a label text will include data Series Name.

    ShowValue:[Boolean] If set to True a label text will include a value from data range that corresponds to this data

    point.

    ShowPercentage:[Boolean] Ifset to True a label text will include a percentage that this data point is in relation to

    the whole data set.

    ShowLeaderLines:[Boolean] If set to True and Label Position is set to Best Fit, for labels that were seperated from

    the data point, there will be a leader line.

    ShowLegendKey:[Boolean] If set to True a label will include a Legend Key next to label text.

    Separator:[String] A string that will be used to separate each value in the label if more than one value is displayed.

    For example: SeriesName, Percentage, Value etc.

    LabelPosition:[Label Position Type] Use Label Position Types to define a location for labels.

    2.6.0 Define Label Style

    2.6.1 Example of a chart with labels set to Best Fit:

    Bumblebee Primer

    23Label Style

    http://konradsobon.gitbooks.io/bumblebee-primer/content/230_border_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/230_border_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/220_text_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/210_fill_style.html
  • 7/25/2019 Bumblebee Primer

    24/61

  • 7/25/2019 Bumblebee Primer

    25/61

    FillStyle:[Fill Style] See Fill Style section for more details.

    TextStyle:[Text Style] See Text Style section for more details.

    BorderStyle:[Border Style] See Border Style section for more details.

    RoundedCorners:[Boolean] If this input is set to True AND Border Style is supplied it will make the border aroundchart have rounded corners.

    2.7.0 Define Chart Style

    2.7.1 Example of pie chart with Border and RoundedCorners defined:

    Bumblebee Primer

    25Chart Style

    http://konradsobon.gitbooks.io/bumblebee-primer/content/230_border_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/220_text_style.htmlhttp://konradsobon.gitbooks.io/bumblebee-primer/content/210_fill_style.html
  • 7/25/2019 Bumblebee Primer

    26/61

    This node allow you to create conditional formatting styles in Excel for better data visualizations.

    3.0.0 Conditional Formatting Nodes

    Bumblebee Primer

    26Conditional Formatting

  • 7/25/2019 Bumblebee Primer

    27/61

    Conditional Formatting in Excel can be a really powerful tool. If you ever wanted to use Excel as a model checking or model

    management tool on Revit projects then this will come really handy for you. I use it to extract all kinds of data and

    parameters and then apply conditional formatting to it, to quickly identify mistakes and imissions. Conditional Formattingrequires 4 main steps to be defined. Here they are:

    1. Choose Conditional Formatting Condition. This can be a Cell Value, Expression or 2/3 Color Gradient Scheme.

    2. Define rules that will govern whether Graphic Style will be applied to a cell or not.

    3. Create a Graphic Style that will be applied to a cell in case that cell evaluates to True based on formatting rule.

    4. Apply it to Excel Document/Range.

    Let's go over these four steps using Cell Value Formatting Condition as an example.

    3.1.0 Conditional Formatting Overview

    3.1.1 Set Up

    Bumblebee Primer

    27Overview

  • 7/25/2019 Bumblebee Primer

    28/61

    FilePath:[FilePath] Use this input to specify excel file that formatting will be applied to.

    RunIt:[Boolean] Set this input to True to enable this node and execute it. Set it to False to disable it.

    SheetName:[String] Use this input to specify what sheet you want to apply the formatting to.

    CellRange:[String or List[String]] Use this node to define a specific range that you want the formatting to be applied

    to. Typical Excel syntax applies where range is defined like so: "A1:B1".

    FormatConditions:[FormatCondition or List[FormatCondition]] Use this input to supply a single Format Condition

    object (for example a Cell Value FC) or a list of multiple Format Conditions. This allows you to combine multiple Cell

    Value format conditions or apply them to multiple ranges.

    Multiple Formatting Conditions applied to multiple ranges in an Excel file helping me identify parameters in my Drawing List

    that were not set or set incorrectly.

    3.1.2 Example:

    Bumblebee Primer

    28Overview

  • 7/25/2019 Bumblebee Primer

    29/61

    Rules Box in Excel that reflects all of the Conditions applied.

    Bumblebee Primer

    29Overview

  • 7/25/2019 Bumblebee Primer

    30/61

    Cell Value Formatting allows you to set up a formatting condition that relies on a value that is contained within each cell that

    formatting is applied to. This basically allows you to compare each cell to some value and based on some simple

    comparison operators like "equals" or "less than" you can apply certain style to cell based on that comparison result.

    Based on what Operator Type you chose, you will either have to supply one or more values that each cell will be evaluated

    against. Operator Types available are pretty straight forward and are mostly similar to some of the logical operators that

    you have already seen in Excel:

    3.2.0 Cell Value Formatting

    3.2.1 Choose Operator Type and Values

    Bumblebee Primer

    30Cell Value

  • 7/25/2019 Bumblebee Primer

    31/61

    1. Equal - requires (1) value for comparison.

    2. NotEqual - requires (1) value for comparison.

    3. Greater - requires (1) value for comparison.

    4. GreaterEqual - requires (1) value for comparison.

    5. Less - requires (1) value for comparison.

    6. LessEqual - requires (1) value for comparison.

    7. Between - requires (2) values for comparison.

    8. NotBetween - requires (2) values for comparison.

    Values can be either Strings or Numbers and it simply depends on what data you want to compare it to in Excel. For thisexample I will use a String. My objective is to check a range of values in Excel and determine if its equal to "Author". If it is

    then I want to apply a specific Graphic Style to that cell.

    You can either use a Code Block or a String Node like so:

    Bumblebee Primer

    31Cell Value

  • 7/25/2019 Bumblebee Primer

    32/61

    Once we have our condition defined we can move on to defining Graphic Style that will be applied to cells that evaluate to

    True for the given condition.

    Please see section 3.0.0 for detail instructions on how to define Graphic Styles. This Graphic Style will be used if cell

    evaluates to True based on rules defined in previous section.

    This is what the final result will look like:

    3.2.2 Define Graphic Style

    3.2.3 Cell Value Format Condition - Single Range/Single Format Condition

    Bumblebee Primer

    32Cell Value

  • 7/25/2019 Bumblebee Primer

    33/61

    You can also stack more than one Format Condition on top of each other and formatting will be applied based on order thatthey were added in case that both Format Conditions evaluate to True. Here's an example:

    This is what the final result will look like:

    3.2.4 Cell Value Format Condition - Single Range/Multiple Format Conditions

    Bumblebee Primer

    33Cell Value

  • 7/25/2019 Bumblebee Primer

    34/61

    You can also apply different Format Conditions to more than one range at the time while maintaining ability to add more

    than one Format Condition per Range. Just create lists of lists of Format Conditions and you will be good to go.

    3.2.5 Cell Value Format Condition - Multiple Ranges/Multiple Format Conditions

    Bumblebee Primer

    34Cell Value

  • 7/25/2019 Bumblebee Primer

    35/61

    This is what the final result will look like:

    Bumblebee Primer

    35Cell Value

  • 7/25/2019 Bumblebee Primer

    36/61

    The trick is to match the length of the Cell Range list with the Format Conditions list like so:

    Bumblebee Primer

    36Cell Value

  • 7/25/2019 Bumblebee Primer

    37/61

    Expression Formatting allows you to set up a formatting condition that will evaluate an Excel expression as if it was applied

    to every cell and apply certain style to cell based on that evaluation result.

    This is Excel based expression written out as if you were typing it into Excel's formula bar. All Excel formatting/syntax

    applies here as well. I am not an Excel formulas guru but here is a simple one that evaluates whether a cell is empty simply

    by measuring length of string contained within it. If there is no string, this expression will evaluate to True:

    Tip:Keep in mind that cell that is being used for evaluation here (C1) needs to be within the range that this

    expression formatting is being applied to (C1:C31). If my range was A1:A31 then my expression would have to be"=LEN(TRIM(A1))=0".

    Again I am not an excel guru, but this rule holds true even when you try applying conditional formatting using Excel's user

    interface. As a matter of fact this is the best way to test something - try it in Excel first.

    Please see 3.1.0 Define Graphic Style section of this book for more details on how to define Graphic Style.

    This is what the final result would look like:

    3.3.0 Expression Formatting

    3.3.1 Define an Expression

    # "=LEN(TRIM(C1))=0"

    3.3.2 Define Graphic Style

    Bumblebee Primer

    37Expression

  • 7/25/2019 Bumblebee Primer

    38/61

    Exactly the same rules apply to Expression Formatting as to Cell Value Formatting. You can stack multiple formatconditions on top of each other or apply them to different ranges at the same time. Please see section 4.1.0 Cell Value

    Formatting to see multiple condition formats in action. Here's an example of stacking Cell Value Format Condition and

    Expression Condition in the same Range.

    3.3.3 Putting it together...

    Bumblebee Primer

    38Expression

  • 7/25/2019 Bumblebee Primer

    39/61

    (2) Color Scale Formatting allows you to set up a formatting condition that will evaluate a range of numbers and then based

    on some simple rules will color all of the values with an appropriate color defined in a two color gradient.

    You can define rules of how this color gradient will be applied to range of numbers by specifying Min and Max value types.

    This can either be as simple as "automatic" or as custom as inputting an actual number for a min/max value.

    Let's have a quick look at available options and their meaning.

    3.4.0 (2) Color Scale Formatting

    3.4.1 Define Min and Max Value Types

    Bumblebee Primer

    392 Color

  • 7/25/2019 Bumblebee Primer

    40/61

    LowestValue:If you chose this option, Excel will automatically chose the lowest value in the specified range and use

    that as a Minimum. Choosing this option means that you DO NOT have to supply MinValue. LowestValue can ONLY

    be applied to MinValueType input.

    Number: If you chose this option, you will have to also supply MinValue/MaxValue input that will determine the

    minimum number.

    Percent:If you chose this option you will have to supply MinValue/MaxValue and it will have to be between 0-100.

    Formula: You can use a Formula to determine a MinValue/MaxValue. If you chose to use the formula then, you have

    to supply it to MinValue/MaxValue input. Something to keep in mind when using Formulas with 2-Color Formatting is

    that they cannot be referencing other cells. That means that a formula like this: =1, will work just fine while something

    like this: =$B1=1, will not.

    Percentile:If you chose this option you will have to supply MinValue/MaxValue and it will have to be between 1-99.

    HighestValue:If you chose this option, Excel will automatically choose the highest value in the specified range and

    use that as a Maximum. Choosing this option means that you DO NOT have to supply MaxValue. HighestValue can

    ONLY be applied to MaxValueType input.

    AutomaticMax:This option is NOT available for use with (2) Color Scale Formatting.

    AutomaticMin:This option is NOT available for use with (2) Color Scale Formatting.

    None:This option is NOT available for use with (2) Color Scale Formatting.

    Based on chosen Min/Max Values Types you might have to specify a numerical or formula value that will be used with this

    formatting style. Here's what the example above will look like:

    3.4.2 Define Min and Max Values

    Bumblebee Primer

    402 Color

  • 7/25/2019 Bumblebee Primer

    41/61

    Here's an additional example that will color only top 20% of the specified range with orange color while applying a blue

    color to lower 80%.

    Bumblebee Primer

    412 Color

  • 7/25/2019 Bumblebee Primer

    42/61

    Here's what this set up will evaluate to:

    Bumblebee Primer

    422 Color

  • 7/25/2019 Bumblebee Primer

    43/61

    Bumblebee Primer

    432 Color

  • 7/25/2019 Bumblebee Primer

    44/61

  • 7/25/2019 Bumblebee Primer

    45/61

    LowestValue:If you chose this option, Excel will automatically chose the lowest value in the specified range and use

    that as a Minimum. Choosing this option means that you DO NOT have to supply MinValue. LowestValue can ONLY

    be applied to MinValueType input.

    Number: If you chose this option, you will have to also supply MinValue/MidValue/MaxValue input that will determine

    the minimum number.

    Percent:If you chose this option you will have to supply MinValue/MidValue/MaxValue and it will have to be between

    0-100.

    Formula: You can use a Formula to determine a MinValue/MidValue/MaxValue. If you chose to use the formula then,

    you have to supply it to MinValue/MidValue/MaxValue input. Something to keep in mind when using Formulas with 3-

    Color Formatting is that they cannot be referencing other cells. That means that a formula like this: =1, will work just

    fine while something like this: =$B1=1, will not.

    Percentile:If you chose this option you will have to supply MinValue/MidValue/MaxValue and it will have to be

    between 0-100.

    HighestValue:If you chose this option, Excel will automatically choose the highest value in the specified range and

    use that as a Maximum. Choosing this option means that you DO NOT have to supply MaxValue. HighestValue canONLY be applied to MaxValueType input.

    AutomaticMax:This option is NOT available for use with (2) Color Scale Formatting.

    AutomaticMin:This option is NOT available for use with (2) Color Scale Formatting.

    None:This option is NOT available for use with (2) Color Scale Formatting.

    What this means that Lowest and Highest Value selections can only be made for Min and Max respectively. Mid value type

    can only be a Number, Percent, Percentile or Formula.

    Based on chosen Min/Max Values Types you might have to specify a numerical or formula value that will be used with this

    3.5.2 Define Min and Max Values

    Bumblebee Primer

    453 Color

  • 7/25/2019 Bumblebee Primer

    46/61

    formatting style. Here's what the example above will look like:

    Bumblebee Primer

    463 Color

  • 7/25/2019 Bumblebee Primer

    47/61

    Top/Bottom Percentile Formatting allows you to set up a formatting condition that will either highlight a top or bottom

    percentile of values in a given range, or it will highlight a number of top or bottom values.

    Percent:[Boolean] If Boolean set to True this formatting condition will use a top/bottom percentage of values in the

    supplied range. If Boolean set to False it will take a number of top/bottom values according to Integer value specified

    in Rank input.

    Rank:[Integer] If Percent input is True then this will determine the percentage of values while if Percent is False this

    will be a number of top/bottom values.

    Top:[Boolean] If set to True it will highlight Top values while if set to False it will highlight Bottom values.

    GraphicStyle:[Graphic Style] This Graphic Style will be applied to all values that fall within specified range of

    top/bottom performers in a given range.

    Please see section 3.0.0 for detail instructions on how to define Graphic Styles. This Graphic Style will be used if cellevaluates to True based on rules defined in previous section.

    In this example we highlight Bottom 15% of all numbers in the specified range.

    3.6.0 Top/Bottom Percentile Formatting

    3.6.1 Define Formatting Condition rules

    3.6.2 Define Graphic Style

    3.6.3 Top Percentile Values

    Bumblebee Primer

    47Top/Bottom Percentile

  • 7/25/2019 Bumblebee Primer

    48/61

    In this example we highlight exactly 15 of the top values in the specified range.

    3.6.4 Top Number of Values

    Bumblebee Primer

    48Top/Bottom Percentile

  • 7/25/2019 Bumblebee Primer

    49/61

    Bumblebee Primer

    49Top/Bottom Percentile

  • 7/25/2019 Bumblebee Primer

    50/61

    Top/Bottom Percentile Formatting allows you to set up a formatting condition that will either highlight a top or bottom

    percentile of values in a given range, or it will highlight a number of top or bottom values.

    MinType:[Condition Value Type] If this input is LowestValue or AutomaticMin Excel will automatically assign the

    minimum value from the range of numbers specified. MinValue will NOT need to be supplied if either one of the two

    values are used.

    MinValue:[Integer] Only needed if MinType IS NOT LowestValue or AutomaticMin

    MaxType:[[Condition Value Type] If this input is HeighestValue or AutomaticMax Excel will automatically assign the

    maximum value from the range of numbers specified. MaxValue will NOT need to be supplied if either one of the two

    values are used.

    MaxValue:[Integer] Only needed if MaxType IS NOT HeighestValue or AutomaticMax

    DirectionType:[Direction Type] Use this input to specify direction of the data bar.

    GradientFill:[Boolean] If set to True, generated data bar will have a gradient fill style fading from FillColor specified

    to White.

    FillColor:[Color] Color of the Data Bar

    BorderColor:[Color] If supplied, it will set the border color for each cell in the specified range.

    In this example we highlight cells in the specified range using a gradient data bar that has no border. It also has automatic

    min and max values assigned that were generated based on the values in the supplied range.

    3.7.0 Data Bar Formatting

    3.7.1 Define Formatting Condition Rules

    3.6.2 Data Bar with Gradient no Border

    Bumblebee Primer

    50Data Bar

  • 7/25/2019 Bumblebee Primer

    51/61

    3.6.3 Data Bar with Border and no Gradient

    Bumblebee Primer

    51Data Bar

  • 7/25/2019 Bumblebee Primer

    52/61

    In this example we highlight cells in the specified range using a data bar that has a border. It also has automatic min and

    max values assigned that were generated based on the values in the supplied range.

    Bumblebee Primer

    52Data Bar

  • 7/25/2019 Bumblebee Primer

    53/61

    Bumblebee Primer

    53Data Bar

  • 7/25/2019 Bumblebee Primer

    54/61

    This is a section that will contain all charts as they are being added to Bumblebee.

    4.0.0 Charts

    Bumblebee Primer

    54Charts

  • 7/25/2019 Bumblebee Primer

    55/61

    Pie Charts are some of the most useful and easy to understand charts available to us in Excel. They are also one of the

    simpler charts that you can generate using Excel. That's because they can really display a single range of data at a time.

    Even though you can use them to generate data for 2D Arrays, you can only show one of them at a time, so its kind oflimited. Keep that in mind when dealing with charts.

    RunIt:[Boolean] Set this input to True to enable this node.

    SheetName:[String] Name of the Excel Worksheet that you want to place/update the chart on.

    SizeRange:[String]

    Use this input to define a range in Excel that chart will be scaled to fit. Typical Excel syntax applies where range is

    defined like so: "A1:D11".

    Title:[String] This will be the text in the title on top of the chart.

    DataRange:[String] Use this input to define a range in Excel that chart will get its data source from. Charts can only

    be applied to numbers so keep that in mind.

    PieChartType:[Pie Chart Type] This can be one of the available outputs from Pie Chart Types node.

    LegendStyle:[Legend Style] Use this input to specify Legend formatting options.

    ChartStyle:[Chart Style] Use this input to specify Chart formatting options.

    GraphStyle:[Graph Style] Use this input to specify Graph formatting options.

    4.1.0 Pie Chart

    4.1.1 Defining Pie Chart Inputs

    4.1.2 Defining Pie Chart Styling Options

    Bumblebee Primer

    55Pie Chart

  • 7/25/2019 Bumblebee Primer

    56/61

    Pie Charts have a handful of parts that can be individually formatted with some unique aesthetics. I am not a huge fan of

    doing too much when it comes to aesthetics but there are a few things that I like and I will outline them below.

    First and foremost, if you DO NOT supply a Legend Style to Pie Chart node, it will result in a chart without a legend.

    If you however, decided that legend is what you want, you have a few options here. I personally like to adjust Text Style to

    make sure that the fond is exactly what I like. Then you can pick a Legend Position, and there are basically (4) options to

    choose from: Left, Top, Right and Bottom. If you do not specify any of these inputs they will be assigned automatically by

    Excel. Last thing that I define here is Legend Labels. By default they will be just a series of numbers, but you can use a

    Range to define custom names for each legend item.

    Of course you can also add Fill and Border Styles to create this god awful look with a little frame around your legend. Feel

    free to do that as well if your heart desires so.

    4.1.3 Legend Styling

    4.1.4 Graph and Label Styling

    Bumblebee Primer

    56Pie Chart

  • 7/25/2019 Bumblebee Primer

    57/61

    Again, if you decide NOT TO supply a Graph Style input into a Pie Chart a default setting will be applied. That means you

    will be seeing a very colorful, non-exploded and labeless chart.

    In case that you do, want to supply a Graph Style it actually consists of two parts. First part is controlling the Graph itself

    and second is controlling the labels that you see around the Graph. For the second part we will be using a node called

    Label Style.

    First thing that I like to do, is input an integer into Explosion input of Graph Style. That will control how much the each pie

    pieces fly apart. Keep in mind that the bigger the number the smaller the pie chart pieces, because no matter what, it will

    not go beyond the specified size. I also like to add a delicate border around each slice - use Border Style node to specify

    that. Finally, I add a Fill Style to make all of the colors in my chart the same. :-) I know, this kind of defeats the purpose of

    making a chart in a first place - but hey, its my chart so I can do whatever I like.

    I also, do some Label Styling. You can use the Label Style node to control what shows up in the labels and where exactlythey are created. I set the Text Style for my labels. I then set labels to display a percentage that each slice is in relation to

    the whole data set. Finally I use the Label Position Types node to place each node on the Outside End of the chart.

    Bumblebee Primer

    57Pie Chart

  • 7/25/2019 Bumblebee Primer

    58/61

    This time the default setting is a white background and a solid border around the whole chart. If you however, supply an

    empty Chart Style, that in-itself will make the background become transparent and will remove the border. For the sake of

    illustration I have added a dashed border around the chart area, just so its clear what we are actually dealing with here.

    My personal preference here is to just plug an empty Chart Style node into the Pie Chart node and move on, but for this

    illustration I have added a little border styling with Rounded Corners and dashed style.

    4.1.5 Chart Styling

    Bumblebee Primer

    58Pie Chart

  • 7/25/2019 Bumblebee Primer

    59/61

    This is a section that will contain all extra and un-categorized nodes that are part of the

    5.0.0 Extras

    Bumblebee Primer

    59Extras

  • 7/25/2019 Bumblebee Primer

    60/61

    This node allows you to search for a single value (string) and it will return an entire row of data that this key value was

    found in. For example you searched for a string "A500" and it was found at cell address A15, this node will return all data

    that was contained in row 15.

    FilePath:[FilePath>File.FromPath] This input requires two nodes File Path and File.FromPath arranged in a

    sequence. If file specified doesn't exist yet it will cause an error.

    RunIt: [Boolean] Toggle it to True to execute the node. Toggle it to False to disable the node.

    SheetName:[String] This is the Name of the Sheet in Excel file that will be read from.

    SearchFor: [String or List[String]] If single string is supplied then it will return a flat list of data from a single row. If

    List of Strings is supplied it will return a Nested List of Data for each search key.

    5.1.0 Search Value Get Row

    5.1.1 Set Up

    Bumblebee Primer

    60Search Value Get Row

  • 7/25/2019 Bumblebee Primer

    61/61

    Clear Contents is a node that will allow you to do few things. One of them is to clear data or cell content from a range of

    Excel sheet. It can also clear any formatting applied to those cells (color fills, text style overrides etc.).

    FilePath:[File Path] Use FilePath node to point at Excel file that you wish to read data from.

    RunIt:[Boolean] Set this to True to enable this node and read data from file. Set this to False to disable this node.

    SheetName:[String] Set this input to a single sheet name or use a list of sheet names to read multiple sheets.

    ClearContent:[Boolean] If set to True all Cell Content will be removed. This means that data contained inside of

    cells which includes formulas will be deleted.

    ClearFormatting:[Boolean] If set to True all formatting for specified range will be cleared. Formatting constitutes of

    things such as Cell Fills or Text Styles.

    Range:[String] An Excel Range in format: "A1:B10" that if supplied will apply clear functions only to range specified.

    If this input is empty clear funtions will be applied over entire document.

    5.2.0 Clear Contents

    There is only one rule here: please close Excel when trying to override a file. :-)

    5.2.1 Set up

    Bumblebee Primer


Recommended