anchor.diff:  
   ![BIS CBS Chart](img/BisCbsChart.jpg)
   
  -The cbs.Filter() function returns a sequence of observations and their values for all periods. With F# you can easily slice out and aggregate data. In this code snippet we use the same filter as above and sum the values of 2000-Q1 across Bahamas and Singapore.
  +The cbs.Filter() function returns a sequence of observations and their values for all periods. With F# you can easily slice out and aggregate data. In this code snippet we use the same filter as above and sum the values of 2000-Q1 of Bahamas and Singapore.
   *)
   
   let sum = filter.Get()
  
positive.code: 
  ![BIS Property Prices Chart](img/BisPropertyPricesChart.jpg)
  
  Let’s go one step further and analyse data of a much more complex dataset. The CBS file contains much more records and dimensions than the property prices. The following piece of code looks up a certain observation between Switzerland and Bahamas + Singapore and plots the outcome in a chart. Same as for the previous example, the CSV file was analysed by the BIS Type Provider and relevant types were generated. And again, we have full IntelliSense support as the properties on the “filter” and also the members under “Cbs” exist in code.
  *)
  
  type Cbs = Dataset<"C:/full_BIS_CBS_csv.csv">
  
negative.code: - Property prices: long series
  - Effective exchange rate indices
  
  The BIS Type Provider extracts metadata out of the CSV file and generates an abstraction layer which simplifies filtering on the file. The main advantages are:
  
  - Developer/research analyst analysis data through abstraction layer. No knowledge of CSV file parsing required.
  - The IDE provides syntax highlighting based on the metadata extracted out of the CSV file. The consumer does not need to know the dimension and codes by heart.
  - Compile-time errors are thrown in case dimensions or codes which do not exist in the metadata are used.
  - Simple but powerful way of filtering the data (observations).
  - One generic F# Type Provider for all of the above mentioned statistics.
  
  
  The following examples show how to run the BIS Type Provider.
  First we download the [Property prices: long series][raw] CSV file as the structure of this data is very simple and perfect for this demo. Firstly (see code block below), the “PropertyPrice” type must be defined. By doing this, the BIS Type Provider analysis the CSV file and generates the PropertyPrice.ObservationFilter plus one type per dimension of the property price data. In this case the types “Frequency” and “Reference Area” are generated and each of them contains generated fields per dimension member.
  As shown in the picture below, the metadata is reflected in the code. With this, we have full IntelliSense support and compile-time checks!
  
  ![BIS Property Prices](img/BisPropertyPrices.jpg)
  
  It requires only 3-4 lines of code to filter out a certain observation out of the data. The last part of the code builds up a line chart for the data we are looking for. I’m using the FSharp.Charting for the visualization.
  *) 
  type PropertyPrice = Dataset<"C:/full_BIS_LONG_PP_csv.csv">
  
  