use an unsupported aggregation.. elasticsearch. use an unsupported aggregation.

 
elasticsearchuse an unsupported aggregation.  I've tried using COUNTD() ID First Last 1 Jim Carrey 1 Jim Carrey 2 Liam Neeson 3 Wynona Ryder COUNT([ID]) = 4 COUNTD([ID]) results in error I am trying to use the below formula instead of countd function because my data comes from Impala {FIXED [Machine Nr] : COUNT([Machine Nr] )} / {FIXED [Machine Nr] : COUNT([Machine Nr] )} This works fine when there is no secondary data source but when I blend with a secondary data source it grays out my sheet i

(It is a field that contains account names (company) in the sample data. I did that in your example too. id=(select max(id) from tahun) ShareTo use concat with spark window function you need to use user defined aggregate function (UDAF). Copy link Member. Primary Data source - Actuals ( day grain) Secondary data source - Goals (quarter grain) Calculated Measures: Primary Data source :- CustCount = CountD( Cust_ID ). elasticsearch. if [created at] = { fixed [branch id]: max ( [created at])} Then [branch id] end. This should explain why when you are using the SUM aggregation it works. You can choose whether functional and advertising cookies apply. For example, see Text Search in the Aggregation Pipeline. If this posts assists in resolving the question, please mark it helpful or as the 'correct answer' if it resolves the. Cannot blend the secondary data source because one or more fields use an unsupported aggregation I have two datasets; one is a shape file that contains regions and locations. If this posts assists in resolving the question, please mark it helpful or as the 'correct answer' if it resolves the. Click on the different cookie categories to find out more about each category and to change the default settings. Another table is a a table that contains key fields such as date, region, location and hardware id (dimension). Create free Team. If a query asks for sales figures for Coke and Pepsi, the data should be returned from the aggregate table. Cannot blend the secondary data source because one or more fields use. I’ve found a couple examples in the forums. Consider a books collection with the following document: {"_id": 1,In aggregation, following a stage that outputs a field with the text score value, you can specify a query condition or operate on the field in subsequent stages. but no collectToAggregationThe SQL Language. Bucket aggregations that group documents into buckets, also called bins, based on field values, ranges, or other criteria. Add GROUP BY or turn it into the window functions using OVER clauses. QNAP’s QuRouter OS simplifies managing high-speed and high-coverage LAN/WAN. Two time points but no time interval. This happens only when the data sources are impala. Table 9. In aggregation, following a stage that outputs a field with the text score value, you can specify a query condition or operate on the field in subsequent stages. us/multipleconnections_troubleshooting. Norbert, I'm baffled. (Ditto the FIXED countD. ” Causes and Workarounds for a Blending Limitation Errors 1. I had a query w. I am trying to . Go to a new worksheet. thomaspatzke commented Dec 9, 2018. How to handle “Cannot blend the secondary data source because one or more fields use an unsupported aggregation” error in Tableau. addShard. We extracted the following from Elasticsearch source code for those seeking an in-depth context :Now when I drag and drop the transaction data, everything works just fine, but if I try to use the "Add all Subtotals" option to get the AVG Transactions value for each Market then I am getting the dreaded "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" on my worksheet when I change the "Total. When I am joining the two data sources I wanted to use "F Name" column with "Name" column. query: true), while for other CDS views, I got the "Element contains. Loading. When I use a terms aggregation, it works fine and returns buckets as expected. One common approach is meta-aggregation, as advocated by JBI. Hi Judy, Could you try 'swapping' the datasources, so the one with the [Customer_Code] would become your Primary? You could do it just for one view, Both Primary and Secondary data sources have duplicate rows due to multiple joins in data prep. So the only way, it was possible was to connect one of the data sources with a calendar table joined with previous year and then blend it against the same data to get the Current Year and Same Period Last Year values in a single view. I am trying to set up a composite aggregation using the ElasticsearchClient since the RestHighLevelClient is deprecated. 0. Change Default to be False — This tells the Format as HTML Pro step to not use the default data type as dictated by the recordset, but. Many target systems don't support it at all (e. At this time the only use case that I run into (for me and the folks that I help out) for data. From the Input Recordsets pane on the left, expand the relevant Results from. e. Ditto: { FIXED [Patient ID] : COUNTD([Patient ID]) } Yet there it is in your workbook, very happy and functional. But considering using it with Materialized View, the doc says SimpleAggregateFunction(name, types_of_arguments…) data type stores the current value of the aggregate function, and does not store its full state as AggregateFunction dose, which means. For example, you would not be able to use a measure with the expression <<root. Can't see what you are actually doing but Blending data has its limits. node. I did that in your example too. Error "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" when Data Blend… You may just be able to turn the Excel file into an extract to overcome this, but I'd have to test/see the data & workbook to be certain. The primary one is called Dim_Service_Status. Aggregate transformations output a table for every input table they receive. See. Click on the different cookie categories to find out more about each category and to change the default settings. The composite buckets are built from the combinations of the values. filter. And now if I bring that Fixed calculation ( called as "Duration" in my worksheet. In the opened dialog, you select ODBC DSN and click Next to continue. Non-additive aggregates are aggregate functions that produce results that cannot be aggregated along a dimension. Buckets can only be sorted on a sub-aggregator path that is built out of zero or more single-bucket aggregations within the path and a final single-bucket or a metrics aggregation at the path end. additional request properties set programmatically. g. NoDays >> * <<root. If you then need to flatten the response for use in your visualisation this flattening will need to be done client side. You cannot convert a string value of a float or decimal or non-base 10 number (e. htm#cannot-blend-the-secondary-data-source-because-one-or-more-fields-use-an-unsupported-aggregation. When you run certain metric aggregations on an aggregate_metric_double field, the aggregation uses the related sub-field’s values. Hi All, I have blended primary and secondary data sources. If you add new historical data to an already-materialized bucket, it won't be reflected in a real-time aggregate. The Regular Aggregate property. 4, MongoDB supports faceted classification by using the Aggregation Framework. Use SIZE (): This is similar to #1, but provides a better visual and is more flexible with other analyses. mean any array of object I pass to this function it executes. In the LACP section, click the +NEW symbol to create a new LAG. There are two ways of dealing in a data module with unsupported data types. Cannot blend the secondary data source because one or more fields use an unsupported aggregation issue Hi All! I would like to ask for your help, I do have two data sources: BI Cube (primary source) & Excel file (secondary) We use three kinds of cookies on our websites: required, functional, and advertising. This aggregation provides a way to stream all buckets of a specific aggregation, similar to what scroll does for documents. I have 2 filters (BU ISNull and CORPID) applied from secondary data source. The measure is using one of the Defined in expression aggregation types, and the expression for the measure contains what looks like a hard-coded aggregate function. In our example, we could write the original as: select Company. I am trying to put my LOD calculation (below) on the rows shelf but encountering "cannot blend the secondary data source because one or more fields use an unsupported aggregation" {include [DATE MONTH],[STATE]: sum([Quantity. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Just aggregates (like SUM, MIN, MAX. PaulYou can still use the field with COUNTD() from the secondary data source if you remove all dimensions from the secondary data source (i. The version I am working with 10. CSS ErrorHi Ben, This comes from my own explorations and got confirmed by the Tableau dev who built the latest version of data blending (called DB2). You can specify collation for a collection or a view, an index, or specific operations that support collation. ×Sorry to interrupt. You can choose whether functional and advertising cookies apply. When you try to do that, Tableau generates the "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" error, turns the offending pill red, and grays out the view. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Embedded Document Fields. I've tried that in the past, and I was always blocked by the unsupported aggregation message. Computing or filtering based on an aggregated value is not supported. Error "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" when Data Blend… You may just be able to turn the Excel. Argument to SUM (an aggregate function) is already an aggregation, and cannot be further aggregated. ×Sorry to interrupt. There are corresponding countToAggregation , countDistinctToAggregation etc. Thanks, PaoloThis didn't work alas, "cannot blend secondary data source because one or more fields use an unsupported aggregation" I am using a filter from a different datasource to filter by region . If possible try to join your data source another way is then use some table calculations like "IF FIRST()==0 THEN SIZE() END"I have linked 2 sources using 3 dimensions. In order to create the waffle chart I am blending it with another datasource using the calculated field defined as [Week 5 (Week5Bond)]. Cannot blend the secondary data source because one or more fields use an unsupported aggregation can some one has faced this type of issue before or any idea please share. I'm trying to get the total of the secondary data source field irrespective of the filters using something like this - SUM({FIXED :(SUM([Secondary Source]. Instead OVER aggregates produce an aggregated value for every input row. Expand Post. For example, Sales becomes SUM (Sales). The first part is the source data. I've attached a super quick example using 10. Change the C# code in the Program. Usage In SortIf you have selected the modeling properties Activate Data and Write Change Log, you can choose from the following aggregation types: Summation, Maximum, Minimum and Overwrite. The version I am working with 10. Create an aggregation-based visualization panel edit. e. ELSE D1. Unknown file type Classeur3. Resolution. Learn more about Collectives. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Data blending has some limitations regarding non-additive aggregates such as COUNTD, MEDIAN, and RAWSQLAGG. I've tried using COUNTD() ID First Last 1 Jim Carrey 1 Jim Carrey 2 Liam Neeson 3 Wynona Ryder COUNT([ID]) = 4 COUNTD([ID]) results in error I am trying to use the below formula instead of countd function because my data comes from Impala {FIXED [Machine Nr] : COUNT([Machine Nr] )} / {FIXED [Machine Nr] : COUNT([Machine Nr] )} This works fine when there is no secondary data source but when I blend with a secondary data source it grays out my sheet i. AVG is a quasi-additive aggregation and may not be supported when blending. I am trying to create a waffle chart. 38. Change the aggregation of a measure in View. Here is a slimmed down version what I'm trying to do. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Good morning - see the attached. I need my calc to run on the row level irrespective of the view. Data blending has some limitations regarding non-additive aggregates such as COUNTD, MEDIAN, and. A value greater than 0 treats a grade item's grades as extra credit during aggregation. ERROR 2346: Cannot alter a sequence with START. the second tab “by Industry”, if you try to filter by SBU or BU, “Held” or “Scheduled”3) Use aggregate measures instead of filters, for example by using ATTR(Dimension). The aggregation rule is determined automatically at run time. I'm noticing you are using the Date field from the secondary data source you are working with. Click on the different cookie categories to find out more about each category and. I get error: “Cannot blend the secondary data source because one or more fields use an unsupported aggregation. We use three kinds of cookies on our websites: required, functional, and advertising. Unsupported aggregation type. ) The basic idea is that in addition to a normal “. Instead of processing the strings in application code, you can use the aggregation string operators to push the data processing down to the database. Consider a books collection with the following document: {"_id": 1,Cannot blend the secondary data source because one or more fields use an unsupported aggregation. A value greater than 0 treats a grade item's grades as extra credit during aggregation. This section describes the summary, or aggregation, functions that are available in IBM® Cognos® Analytics - Reporting. In this example, Geog_School is used. Aggregates in the materialized view query must be outputs. Click on the different cookie categories to find out more about each category and to change the default settings. Cannot blend the secondary data source because one or more fields use an unsupported aggregation" when Data Blending Hello Everyone, I am using one data source which is a LIVE connection and I have duplicated same data source , the reason behind duplication is i want to have total of category which will be constant and it will not change even. Currently windowed aggregations cannot be combined in the same SELECT statement with GROUP BY, HAVING, or any. Step 4: Select key figure in “Target” and right lick on it. By using the formula DAY([Endtimestamp]), you're changing the dimensionality a little bit. But considering using it with Materialized View, the doc says SimpleAggregateFunction(name, types_of_arguments…) data type stores the current value of the aggregate function, and does not store its full state as AggregateFunction dose, which means. In this example, Geog_School is used. Table 2 (Secondary): Location | Item Sold | Price | Date. The expression of the column which has an unsupported. You bucket your data by time and calculate the delta between time buckets using the lag window function:Introduction: Approaches to the synthesis of qualitative research have existed for more than 20 years and have evolved significantly during that time. Unsupported aggregations in data blending Hello, I have a distributor dataset with product ships and returns (one report covering six months), and a retailer dataset with product retail sales and stock (covering the same six months but composed of. We use three kinds of cookies on our websites: required, functional, and advertising. Shell Method. Is the restriction on LOD expressions true even if. System. (Ditto the FIXED countD. Parameters expression : Non aggregating, non grouping expression in the SELECT list. You should wait for the next scheduled. aggregate(func=None, *args, engine=None, engine_kwargs=None, **kwargs) [source] #. I am trying to blend the same data against the other because I wanted to show Same Period last Year. These stages can be broken down like the following:. When I calculate the average of a measure and use the filter, it works perfectly fine. 75K subscribers 3K views 4 years ago Cannot blend the secondary data source because one or more fields use an unsupported aggregation It’s cable. Documents flowing through the aggregation pipeline are classified. Loading. data,c. 06. These dimensions were also used as filters in the particular sheet. When you try to do that, Tableau generates the "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" error, turns the offending pill red, and grays out the view. I am trying to blend the same data against the other because I wanted to show Same Period last Year. The one drawback is that DB2 blending does not support "non-additive aggregates" like COUNTD() and MEDIAN(). The workaround for this is that if you have to use one of the non-additive aggregates, use DB1 blending, i. By using the formula DAY([Endtimestamp]), you're changing the dimensionality a little bit. Complex expressions on top of the aggregate are not supported. ) Two approaches to consider: 1) Make your Stores data source your primary data source. Loading. I defined my model using model subclassing which takes in training data in the form [pair1,pair2,label] for training and [pair1,pair2] for prediction. category. Credits to Jonathan Drummey for the below workaround Cannot blend the secondary data source because one or more fields use an unsupported aggregation . Loading. It can be misunderstood, but, when using a data blend correctly, it is an efficient way to merge data sources in Tableau. These expression operators are available to construct expressions for use in the aggregation pipeline stages. data from the second source comes over as an aggregate - look into what the aggregation is on and how does that relate to what you have in the primary data base . An old, now unsupported aggregation strategy provided here only for backward compatibility with old activities. Use range () to assign _start and _stop values. Step 3: Create assignment or drag & drop key figure in target. Jim. I tried using Excel as the primary and I kept getting errors when I tried to add the cube. You could also use Tableau Prep to pre-aggregate each set of data so they have the same level of detail, then join them together. Connect and share knowledge within a single location that is structured and easy to search. Rather than return incorrect results, Tableau turns the pill red, greys out the view, and generates the unsupported aggregation message. How should I got about with this? Thank you. To add aggregation to a field for a pivot table visual. aggregateWindow () requires _start and _stop columns in input data. It is not allowed to use an aggregate function in the argument of another aggregate function. The steps are. Wrap the Total KMs formula in: IF FIRST ()=0 THEN [Total KMs] END. 9 KB. This page has an error. Non-aggregate measures — such as type: yesno and type: number — are the only measures that can reference other measures or aggregations. In the actual data I get the error: Cannot blend the secondary data source because one or more fields use an unsupported aggregation. In find, you cannot specify a query condition on the text score. The driver does not provide methods for all aggregation pipeline operators in the Query API. your calculation is already aggregated in order to maintain the aggregated level you need to use ATTR what exactly your doing is no idea so could you please. You can choose whether functional and advertising cookies apply. unsupported aggregation. java. I receive this error: "Cannot blend the data source because one or more fields uses an unsupported aggregation". Currency measure vs. ERROR 2381: Cannot create a sequence with RESTART. If. Fixed it by leaving type = float under [[inputs. We don't get row-level data from secondary. Hello. But, this won't work if the view is aggregating the results. ) I need to revisit my understanding of the limitations here! Cannot blend the secondary data source because one or more fields use an unsupported aggregation. From the Data pane, drag a dimension field to Label on the Marks card. Find centralized, trusted content and collaborate around the technologies you use most. We are going to explain the concepts mostly using the default micro-batch processing model, and then discuss Continuous Processing model. Provide details and share your research! But avoid. SimpleAggregateFunction(name, typesofarguments…) data type stores current value of the aggregate function, and does not store its full state as AggregateFunction does. tff. I have this query in azure, what the script is trying to do is to get a date from current stamp. Learn more about Collectives Teams. Blend ID (transaction datasource) =. The rough equivalent would be using collect_set and array_join but note you have lost the order: %sql SELECT col1, array_join(collect_set(col2), ',') j FROM tmp GROUP BY col1 I do not think STRING_AGG guarantees order (unless you specify the WITHIN GROUP. Note you'll need the KM Date field on the Detail shelf. Tableau Desktop 2018. Steps to Implement Tableau Aggregation. I have linked 2 sources using 3 dimensions. Aggregate Functions #. I've created the first chart with no problem, but I. ERROR 2239: At most one path number can be entered. Hi everyone, my first attempt to blend 2 data sets was not successful (Sheet called 1st attempt - attached), because its appears the following message "Cannot blend the secondary data source because one or more fields use an unsupported aggregation". Atlas serverless instances don't support the following database commands and mongosh shell methods: Database Command. it's not possible to. Flux aggregate functions are transformations aggregate values from input tables in some way. In other words, they include data more recent than your last materialized bucket. The concept of data blending is, for every match in the primary table there should be exactly one row item in your secondary table, in the view of this concept any aggregation on the secondary table will always be distinct by default. Fleet for the other year. All rights reserved. That is, an aggregate operates using a state value that is updated as each successive input row is processed. Aggregate functions can optionally support moving-aggregate mode, which allows substantially faster execution of aggregate functions within windows with moving frame starting points. CSS ErrorLoading. Tested it manually by setting the load of odd GPU id’s to “Not supported” and sorting according to load. Query expressions describe a value or a computation that can be used as part of an update, create, filter, order by, annotation, or aggregate. You can choose whether functional. calculated. Hello Everyone, I am unable to sum an aggregate function. Outputs documents in order of nearest to farthest from a specified point. Tableau Tip 5. But a filter or range gives org. Hadoop provides two fs interfaces - FileSystem and AbstractFileSystem. The problem is when I try to calculate the median of that same measure. In the Name field, enter OldPasswordAllowedPeriod, and then press the Enter key. Default aggregation for Exclude LOD is ATTR. 2. However, to get to that point sometimes the granularity of the view has to be increased (so that a dimension filter from the secondary can be done using an aggregate filter, or to make sure all the linking dimensions are in the view, etc. If you can find an implementation of that for S3, you can specify it using fs. The actual tables are constantly updated with 600+ locations and sales information that comes in daily: Table 1 (Primary): Location. A. ×Sorry to interrupt. The string value must be a base 10 integer (e. Log Context. General Information. The composite buckets are built from the combinations of the values. Jim. No, the intention of the composite agg is to provide a way to systematically page through all results. You can't directly use concat function with window function. Refresh. After blending, CountD works fine on primary datasource, but when I try to use CountD on secondary datasource tableau gives error: "Cannot blend secondary data source as one or more fields use an unsupported aggregation" Hi, Where Tableau v9 introduced level of detail expressions and Tableau v10 introduced cross-data source joins there are a number of use cases where we previously needed data blending that we now don’t, so the first thing I always look at is whether we really need a blend to get the desired results Also there are various cases where the non-additive aggregates will work with data blending. To resolve this, use FIRST (). If you’ve tried to show a COUNTD from a secondary before, you’ve undoubtedly seen the message stating “Cannot blend the secondary data source because one or more fields use an unsupported aggregation”. learning module contains a number of ways to aggregate model udpates with recommended default configuration: In this tutorial, we explain the underlying motivation, how they are implemented, and provide suggestions for how to customize their configuration. 8 for information about use of aggregate functions as window functions. Then use that field as the linking field for your blend. This field works but when I want to add in my Fianl Dashboard I have this message "Cannot blend the secondary data source because one or more fields use an unsupported aggregation" Moreover my first and secondart data sources are linked by the "Sales ID", but this field is not displayed in the final Dashboard. Returns the numerical value of the string as an integer. Golang mongodb aggregation using mongo-driver. PIVOT supports the COUNT, SUM, MIN, MAX, and AVG aggregate functions. If a function, must either work when passed a DataFrame or when passed to DataFrame. You can choose whether functional and advertising cookies apply. _types. SQLSTATE: none assigned. 60 shows aggregate functions typically used in statistical analysis. (Ditto the FIXED countD. Embedded Document Fields. Figure out a more complicated aggregation that utilizes a multi_bucket aggregation. Wrap the Total KMs formula in: IF FIRST ()=0 THEN [Total KMs] END. This. Find centralized, trusted content and collaborate around the technologies you use most. InternalFilter as an unsupported. I believe this is not a problem because of the primary data source using Relationships but because data blending has some limitations regarding non-additive aggregates. The issue is the data for the week numbers and RORs is not breaking down to the individual days/weeks/lines. this is the sample of getUser function public async getUser(aggregate: o. To achieve this you need to add Calculated Field to an Analysis ( as described here ). But, this won't work if the view is aggregating the results. Last week I’d promised to explain why the solution for identifying whether All items in a Tableau Quick Filter were selected wouldn’t work under certain circumstances in Tableau version 8, here it is, and along the way I’ll explain why COUNTD(Customer Name) could be red and the “Cannot blend the secondary data source because one or more fields use. Dimension plus instance of that dimension. ×Sorry to interrupt. Isilon - Link Aggregation LACP. When double-clicked, it is automatically added to Detail on the Marks card and a map view is created. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Data blending has some limitations regarding non-additive aggregates such as COUNTD, MEDIAN and. "cannot blend the secondary data source because one or more fields use an unsupported aggregation" Attached is the workbook that could provide more clarity on my question. The MAX aggregate function is not logically necessary in this case because the international_GDP table has only one row per country; however, because the server doesn’t know that, and because the server requires that the subquery return no more than one row, the query uses the aggregate function to force the server to recognize that the subquery. unsupported aggregation. Expand Post. The result now should be correct BUT it'll return the result multiple times, once for each date. MenuHow to use an aggregate function on an array column in cosmos-db. So, it seems the two solutions right now are: Create two jobs that have datafeeds that search for the appropriate fields (probably the most correct option) Partition across my_filter_field and have both use the same detectors. IF ISNULL(D1) THEN D2. Using non-aggregate measures . Use aggregation instead. {FIXED [Machine Nr] : COUNT ( [Machine Nr] )} / {FIXED [Machine Nr] : COUNT ( [Machine Nr] )} This works fine when there is no secondary data source but when I blend with a secondary data source it grays out my sheet i. 3 and I have created aggregates AGG for fields from data extract and excel file. When projecting or adding/resetting a field within an embedded document, you can either use dot notation, as in. The concept of data blending is, for every match in the primary table there should be exactly one row item in your secondary table, in the view of this concept any aggregation on the secondary table will always be distinct by default. Try loading pyspark functions with an alias instead:. The following query. Loading. ×Sorry to interrupt. Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Yup. Use aggregation instead. Sometimes , it's automatically working but sometimes it says 'Unsupported Aggregation' . Loading. impl to provide custom adapters. Thus I have this calc below . We are blending two data sources. You can use aggregations in the analysis level calculated field. You can use the variable REMOVE in aggregation expressions to conditionally suppress a field. what I understood from my network colleague concept of LACP. . I'm trying to create a frequency distribution as a percent of total for individual products in a single category on one chart, then dual axis a second chart with the frequency distribution of the category for comparison purposes. But, when I consider this data source as secondary and then try to use it in primary data source sheet, I get this error:- Cannot blend the secondary data source because one or more fields use an unsupported aggregation. Got same expected results in both py2 and. ×Sorry to interrupt. Add the ’ [‘ open-square-brackets to the beginning and ‘]’ close-square-brackets to the end. Ditto: { FIXED [Patient ID] : COUNTD([Patient ID]) } Yet there it is in your workbook, very happy and functional. I'll play around with it, see if I can make it work that way. ×Sorry to interrupt. I've read through the various posts on here, plus the general troubleshooting posts on the Tableau page on blending data, but can't find a solution. Note. Discussions; Teams. Like most other relational database products, PostgreSQL supports aggregate functions. Open the Format as HTML Pro step and go to the Data tab. An old, now unsupported, aggregation strategy provided here only for backward compatibility with old activities. This optimization can be applied to functions for which the following property holds f(S1 UNION ALL S2) = f(f(S1) UNION ALL f(S2)). We have to use two data sources for the visualization.