<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Portfolio Slicer</title>
    <link>http://www.PortfolioSlicer.com/</link>
    <description>Recent content on Portfolio Slicer</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 26 Mar 2026 12:00:00 -0400</lastBuildDate>
    <atom:link href="http://www.PortfolioSlicer.com/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>How to refresh Portfolio Slicer in Power BI Desktop</title>
      <link>http://www.portfolioslicer.com/powerbi/powerbi-refresh.html</link>
      <pubDate>Thu, 26 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/powerbi/powerbi-refresh.html</guid>
      <description>

&lt;h2 id=&#34;overview:c1f0d41d99926dca8b7b257da5f1df84&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;After you update &lt;a href=&#34;http://www.PortfolioSlicer.com/scripts/file-for-ps-reports.html&#34;&gt;files used for Portfolio Slicer reports&lt;/a&gt;, you need to refresh the Portfolio Slicer Power BI model to see the latest values in your reports.&lt;/p&gt;

&lt;h2 id=&#34;how-to-refresh:c1f0d41d99926dca8b7b257da5f1df84&#34;&gt;How to Refresh&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;PortfolioSlicer.pbix&lt;/code&gt; in &lt;code&gt;Power BI Desktop&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;On the &lt;code&gt;Home&lt;/code&gt; ribbon, click &lt;code&gt;Refresh&lt;/code&gt; and choose &lt;code&gt;Data&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Wait for the refresh to finish.&lt;/li&gt;
&lt;li&gt;Review the report pages that you use most often.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/powerbi/powerbi-refresh.png&#34; alt=&#34;How to refresh Power BI model&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;important-notes:c1f0d41d99926dca8b7b257da5f1df84&#34;&gt;Important Notes&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Before refreshing Power BI, make sure you already updated the &lt;a href=&#34;http://www.PortfolioSlicer.com/scripts/file-for-ps-reports.html&#34;&gt;files for Portfolio Slicer reports&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you changed the location of your Excel source file or external data files, first update the &lt;a href=&#34;http://www.PortfolioSlicer.com/powerbi/change-powerbi-connections.html&#34;&gt;Power BI connections&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Power BI usually refreshes faster than the Excel report files, but actual speed depends on your portfolio size and computer performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;related-pages:c1f0d41d99926dca8b7b257da5f1df84&#34;&gt;Related Pages&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://www.PortfolioSlicer.com/powerbi/what-is-portfolioslicer-for-powerbi.html&#34;&gt;What is Portfolio Slicer for Power BI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.PortfolioSlicer.com/powerbi/change-powerbi-connections.html&#34;&gt;How to change Power BI connections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.PortfolioSlicer.com/powerbi/publish-to-powerbi-com.html&#34;&gt;How to publish to the Power BI service&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://www.PortfolioSlicer.com/powerbi/schedule-powerbi-refresh.html&#34;&gt;How to schedule refresh in the Power BI service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>DAX measures</title>
      <link>http://www.portfolioslicer.com/reports/dax-measures.html</link>
      <pubDate>Wed, 25 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/reports/dax-measures.html</guid>
      <description>

&lt;h2 id=&#34;overview:8264d1f5d56eef056c1f69f9c827449a&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;This page lists the DAX measures from Portfolio Slicer model.&lt;/p&gt;

&lt;h2 id=&#34;measures:8264d1f5d56eef056c1f69f9c827449a&#34;&gt;Measures&lt;/h2&gt;

&lt;table&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Measure&lt;/th&gt;&lt;th&gt;Expression&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Qty Held&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(HasOneValue(Symbol[Symbol]), var res = ROUND([Qty Held System], 6)  var symb = VALUES(Symbol[Symbol]) RETURN IF(symb = &amp;quot;* Cash&amp;quot;, 1, IF(res &amp;lt;&amp;gt; 0, res)))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Qty Sold&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(HASONEVALUE(Symbol[Symbol]), CALCULATE(SUM(Transactions[QtyChange]), TransType[SellFlag]=1))*(-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Qty Start&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(PreviousDay(Dates[Date]) &amp;lt;&amp;gt; Blank(), CALCULATE([Qty Held], PreviousDay(Dates[Date]), ALL(Dates)))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Qty Bought&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT HASONEVALUE(Symbol[Symbol]), Blank()
   , CALCULATE(SUM(Transactions[QtyChange]), TransType[QtySign]=1 )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Symbol Price&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(HASONEVALUE(Symbol[Symbol])
 , IF(NOT(HASONEVALUE(ReportCurrency[ReportCurrency])), [Symbol Price Orig Currency]
    , IF(VALUES(ReportCurrency[ReportCurrency]) = &amp;quot;*Original*&amp;quot; || VALUES(Symbol[Currency]) =VALUES(ReportCurrency[ReportCurrency]), [Symbol Price Orig Currency]
       , var exchRate1 = 
          CALCULATE(
           CALCULATE(AVERAGE(CurrencyConv[ExchRate])
            , LASTNONBLANK(DatesBetween(Dates[Date], DateAdd(LastDate(Dates[Date]), -10, day), LastDate(Dates[Date]))
                , CALCULATE(COUNT(CurrencyConv[ExchRate])
                )
              )
           )
           , CurrencyConv[CurrencyFrom] = VALUES(Symbol[Currency])
          )
         var exchRate = IF(ISBLANK(exchRate1), 1, exchRate1) 
         RETURN [Symbol Price Orig Currency] * exchRate
      )
   )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Equity Value&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var RepCurr = IF(NOT(HASONEVALUE(ReportCurrency[ReportCurrency])), &amp;quot;*Original*&amp;quot;, VALUES(ReportCurrency[ReportCurrency]))
RETURN
SUMX(VALUES(Symbol[Currency])
 , CALCULATE(SUMX(Symbol  , var qty = [Qty Held] RETURN IF(qty&amp;lt;&amp;gt;0 &amp;amp;&amp;amp; Symbol[Symbol] &amp;lt;&amp;gt; &amp;quot;* Cash&amp;quot;, qty * [Symbol Price Orig Currency]))
   * IF(RepCurr = &amp;quot;*Original*&amp;quot; || repCurr = VALUES(Symbol[Currency]), 1,
     var ExchRate = 
         CALCULATE(
           CALCULATE(MAX(CurrencyConv[ExchRate])
            , LASTNONBLANK(DatesBetween(Dates[Date], DateAdd(LastDate(Dates[Date]), -10, day), MAX(Dates[Date]))
                , CALCULATE(COUNTROWS(CurrencyConv)
                )
              )
           )
           , CurrencyConv[CurrencyFrom] = VALUES(Symbol[Currency])
        )
     RETURN IF(ISBLANK(ExchRate), 1, ExchRate)
    )
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Qty Held System&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE(SUM(Transactions[QtyChange]), DATESBETWEEN(Dates[Date], Blank(), MAX(Dates[Date])), ALL(Dates), All(TransType), TransType[QtySign]&amp;lt;&amp;gt;0)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Price Last&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE(SUM(Quotes[Close]), LastDate(Dates[Date]))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Symbol Price Orig Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(ISEMPTY(CALCULATETABLE(Quotes, LastDate(Dates[Date]))))
  , CALCULATE(SUM(Quotes[Close]), LastDate(Dates[Date])) 
  , CALCULATE(SUM(Quotes[Close])
    , LASTNONBLANK(
        DATESBETWEEN(Dates[Date], DateAdd(LastDate(Dates[Date]), -40, day), LastDate(Dates[Date]))
      , CALCULATE(COUNT(Quotes[Symbol]) )
      )
   )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Cash Value&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(IF(VALUES(Config[TrackCash])=&amp;quot;Yes&amp;quot;
 , IF(CONTAINS(Symbol,Symbol[Symbol],&amp;quot;* Cash&amp;quot;)
    , IF(NOT(HasOneValue(ReportCurrency[ReportCurrency])) || CALCULATE(IsEmpty(CurrencyConv), All(Dates))
      , CALCULATE(SUM(Transactions[CashAmnt]), DATESBETWEEN(Dates[Date], BLANK(), LastDate(Dates[Date])), All(Dates), All(Symbol), All(TransType))
      , SUMX(VALUES(Account[Currency])
        , CALCULATE(SUM(Transactions[CashAmnt]), DATESBETWEEN(Dates[Date], BLANK(), LastDate(Dates[Date])), All(Dates), All(Symbol), All(TransType))
          * var curr = Account[Currency]
            var exchRate = 
             CALCULATE(
              CALCULATE(AVERAGE(CurrencyConv[ExchRate])
                , LASTNONBLANK(DatesBetween(Dates[Date], DateAdd(LastDate(Dates[Date]), -10, day), LastDate(Dates[Date]))
                    , CALCULATE(COUNT(CurrencyConv[ExchRate]))
                  )
              )
            , CurrencyConv[CurrencyFrom] = curr
            )
            RETURN IF(IsBlank(ExchRate), 1, exchRate)
        )
      )
   )
)
, 5)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Total Value&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND([Equity Value] + [Cash Value], 2)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Ext Symb Flow Amnt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[QtySign]=1) - CALCULATE([Trans Total Amnt], TransType[QtySign]=-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;AccListCount&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var repCurr = IF(NOT(HASONEVALUE(ReportCurrency[ReportCurrency])), &amp;quot;*Original*&amp;quot;, VALUES(ReportCurrency[ReportCurrency]))
var accList = FILTER(Account, Account[Currency] = repCurr || repCurr = &amp;quot;*Original*&amp;quot;)
RETURN COUNTROWS(accList)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;TransExchRate&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HASONEVALUE(ReportCurrency[CurrencyID])), 1
  , SWITCH(VALUES(ReportCurrency[CurrencyID])
     , 0, 1
     , 1, SUM(Transactions[ExchRate1])
     , 2, SUM(Transactions[ExchRate2])
     , 3, SUM(Transactions[ExchRate3])
     , IF(HASONEVALUE(Account[Currency])
           , var currFrom = VALUES(Account[Currency])
             var exchRate = 
             CALCULATE(
              CALCULATE(AVERAGE(CurrencyConv[ExchRate])
                , LASTNONBLANK(DatesBetween(Dates[Date], DateAdd(LastDate(Dates[Date]), -10, day), LastDate(Dates[Date]))
                    , CALCULATE(COUNT(CurrencyConv[ExchRate]))
                  )
              )
            , CurrencyConv[CurrencyFrom] = currFrom
            )
            RETURN IF(isBlank(exchRate) || exchRate = 0 , 1 , exchRate)
       )
    ))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Ext Cash Flow Amnt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[ExternalImpactPortfolioSignCalc]=1) - CALCULATE([Trans Total Amnt], TransType[ExternalImpactPortfolioSignCalc]=-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Cash Amnt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[CashAmntSign]=1) - CALCULATE([Trans Total Amnt], TransType[CashAmntSign]=-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Annlzd RoR&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(CONTAINS(Symbol,Symbol[Symbol],&amp;quot;* Cash&amp;quot;)
 , 
   var tblTransAccnt= SUMMARIZE(Transactions , Transactions[Date], &amp;quot;Payment&amp;quot;, SUMX(Transactions, Report[Trans Ext Cash Flow Amnt]))
   var tblStart = ROW(&amp;quot;Date&amp;quot;, IF(PreviousDay(Dates[Date])=Blank(), FirstDate(Dates[Date]), PreviousDay(Dates[Date]))
        , &amp;quot;Payment&amp;quot;, IF(PreviousDay(Dates[Date])=Blank(), 0, CALCULATE(Report[Total Value], PreviousDay(Dates[Date])))
    )
   var tblEnd=Row(&amp;quot;Date&amp;quot;, LASTDATE(Dates[Date]), &amp;quot;Payment&amp;quot;, (-1)*CALCULATE(Report[Total Value], LastDate(Dates[Date])))
   var tblAccnt= UNION(FILTER(tblStart, [Payment]&amp;lt;&amp;gt;0), FILTER(tblTransAccnt, [Payment]&amp;lt;&amp;gt;0), FILTER(tblEnd, [Payment]&amp;lt;&amp;gt;0)) 
   RETURN IF(NOT(HASONEVALUE(Symbol[Symbol])) &amp;amp;&amp;amp; NOT(HASONEVALUE(Allocation[Allocation]) &amp;amp;&amp;amp; CONTAINS(Allocation, [Allocation],&amp;quot;Cash&amp;quot;)), IFERROR(XIRR(tblAccnt, [Payment],[Date]), BLANK()))
 , 
   var tblStart = ROW(&amp;quot;Date&amp;quot;, IF(PreviousDay(Dates[Date])=Blank(), FirstDate(Dates[Date]), PreviousDay(Dates[Date]))
        , &amp;quot;Payment&amp;quot;, IF(PreviousDay(Dates[Date])=Blank(), 0, CALCULATE(Report[Total Value], PreviousDay(Dates[Date])))
    )
   var tblTransSymb= SUMMARIZE(Transactions  , Transactions[Date], &amp;quot;Payment&amp;quot;, SUMX(Transactions, Report[Trans Ext Symb Flow Amnt]))
   var tblTransSymb2 = SUMMARIZE(Transactions, Transactions[Date], &amp;quot;Payment&amp;quot;, CALCULATE(SUMX(Transactions, Report[Trans Cash Amnt]*(-1)), FILTER(TransType, AND(TransType[DividendFlag]=1,TransType[TransType]&amp;lt;&amp;gt;&amp;quot;DRIP&amp;quot;)))) /* How About DripTA????? */
   var tblEnd=Row(&amp;quot;Date&amp;quot;, LASTDATE(Dates[Date]), &amp;quot;Payment&amp;quot;, (-1)*CALCULATE(Report[Total Value], LastDate(Dates[Date])))
   var tblSymb = UNION(FILTER(tblStart, [Payment]&amp;lt;&amp;gt;0), FILTER(tblTransSymb, [Payment]&amp;lt;&amp;gt;0), FILTER(tblEnd, [Payment]&amp;lt;&amp;gt;0), FILTER(tblTransSymb2, [Payment]&amp;lt;&amp;gt;0))
   RETURN IFERROR(XIRR(tblSymb, [Payment],[Date]), BLANK())
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Cost Basis&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HASONEVALUE(Symbol[Symbol]) &amp;amp;&amp;amp; [Qty Held]=0),
  var res=
   IF(NOT(HasOneValue(ReportCurrency[CurrencyID]))
           , CALCULATE(SUM(Transactions[CostBasisImpact])    , DatesBetween(Dates[Date], Blank(), LastDate(Dates[Date])), ALL(Dates), All(TransType), TransType[BookValueSign]&amp;lt;&amp;gt;0)
    , SWITCH(VALUES(ReportCurrency[CurrencyID])
        , 1, CALCULATE(SUM(Transactions[CostBasisImpactRpt1]), DatesBetween(Dates[Date], Blank(), LastDate(Dates[Date])), ALL(Dates), All(TransType), TransType[BookValueSign]&amp;lt;&amp;gt;0)
        , 2, CALCULATE(SUM(Transactions[CostBasisImpactRpt2]), DatesBetween(Dates[Date], Blank(), LastDate(Dates[Date])), ALL(Dates), All(TransType), TransType[BookValueSign]&amp;lt;&amp;gt;0)
        , 3, CALCULATE(SUM(Transactions[CostBasisImpactRpt3]), DatesBetween(Dates[Date], Blank(), LastDate(Dates[Date])), ALL(Dates), All(TransType), TransType[BookValueSign]&amp;lt;&amp;gt;0)
           , CALCULATE(SUM(Transactions[CostBasisImpact])    , DatesBetween(Dates[Date], Blank(), LastDate(Dates[Date])), ALL(Dates), All(TransType), TransType[BookValueSign]&amp;lt;&amp;gt;0)
    )
  )
  RETURN IF(ROUND(res, 3) = 0, Blank(), ROUND(res, 3))
  )&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Unrlzd Cap Gain&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var res=[Equity Value] - [Cost Basis] RETURN IF(ROUND(res, 2) = 0, Blank(), res)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Dividends&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[DividendFlag]=1, ALL(Dates[Mths-Initial]))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Fee Mgmt $&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(Symbol, [Equity Value] * Symbol[MER])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Cost Basis per Unit&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(DIVIDE([Cost Basis] , [Qty Held]), 6)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Fee Mgmt %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(DIVIDE(SUMX(Symbol, [Equity Value] * Symbol[MER]) , [Equity Value]), 4)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Unrlzd Cap Gain %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(DIVIDE([Unrlzd Cap Gain],  [Cost Basis]), 5)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;First Buy Date Ever&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE(MINA(Transactions[Date])
    , DATESBETWEEN(Dates[Date], Blank(), MAX(Dates[Date]))
    , All(Dates)
   )&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Portfolio %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;DIVIDE([Total Value], CALCULATE([Total Value], ALL(Symbol)))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Rlzd Cap Gain w/o Sell Fee&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF([Sales Amnt] &amp;lt;&amp;gt; 0,
ROUND(
CALCULATE(
 SUMX(FILTER(Transactions, NOT(IsBlank(Transactions[TransID])))
    , ([TotalAmnt] + [Fee]) * [TransExchRate] + 
      var currID = IF(HASONEVALUE(ReportCurrency[CurrencyID]), VALUES(ReportCurrency[CurrencyID]), 0)
      RETURN SWITCH(currID, 0, [CostBasisImpact], 1, [CostBasisImpactRpt1], 2, [CostBasisImpactRpt2], 3, [CostBasisImpactRpt3], [CostBasisImpact])
 )
 , TransType[BookValueSign] = -1, NOT(TransType[TransType] IN {&amp;quot;SymbolTransferIn&amp;quot;,&amp;quot;SymbolTransferOut&amp;quot;})
), 2)
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Rlzd Cap Gain&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF([Sales Amnt] &amp;lt;&amp;gt; 0,
ROUND(
CALCULATE(
 SUMX(FILTER(Transactions, NOT(IsBlank(Transactions[TransID])))
    , [TotalAmnt] * [TransExchRate] + 
      var currID = IF(HASONEVALUE(ReportCurrency[CurrencyID]), VALUES(ReportCurrency[CurrencyID]), 0)
      RETURN SWITCH(currID, 0, [CostBasisImpact], 1, [CostBasisImpactRpt1], 2, [CostBasisImpactRpt2], 3, [CostBasisImpactRpt3], [CostBasisImpact])
 )
 , TransType[BookValueSign] = -1, NOT(TransType[TransType] IN {&amp;quot;SymbolTransferIn&amp;quot;,&amp;quot;SymbolTransferOut&amp;quot;})
), 2)
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Fee Admin&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[FeeFlag] = 1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Fee Trading&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(Transactions, [Fee] * Report[TransExchRate])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Deposits&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE(
IF(VALUES(Config[TrackCash])=&amp;quot;Yes&amp;quot;
  , CALCULATE([Trans Total Amnt], TransType[DepositTransSign] = 1)
   -CALCULATE([Trans Total Amnt], TransType[DepositTransSign] = -1)
)
, ALL(Dates[Mths-Initial])
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Equity Value Start&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var d = FIRSTDATE(Dates[Date]) RETURN CALCULATE(IF(NOT(ISBLANK(PREVIOUSDAY(d))), CALCULATE([Equity Value], All(Dates), PREVIOUSDAY(d))), ALL(Dates))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Cash Value Start&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var d = FIRSTDATE(Dates[Date]) RETURN CALCULATE(IF(NOT(ISBLANK(PREVIOUSDAY(d))), CALCULATE([Cash Value], All(Dates), PREVIOUSDAY(d))), ALL(Dates))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Total Value Start&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;[Equity Value Start] + [Cash Value Start]&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Total Amnt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HASONEVALUE(ReportCurrency[CurrencyID])), SUM(Transactions[TotalAmnt])
  , SWITCH(VALUES(ReportCurrency[CurrencyID])
     , 0, SUM(Transactions[TotalAmnt])
     , 1, SUMX(Transactions, Transactions[TotalAmnt] * Transactions[ExchRate1])
     , 2, SUMX(Transactions, Transactions[TotalAmnt] * Transactions[ExchRate2])
     , 3, SUMX(Transactions, Transactions[TotalAmnt] * Transactions[ExchRate3])
     , SUMX(SUMMARIZE(Transactions, Account[Currency], Dates[Date])
         , SUM(Transactions[TotalAmnt]) 
           * var currFrom = VALUES(Account[Currency])
             var exchRate = 
             CALCULATE(
              CALCULATE(AVERAGE(CurrencyConv[ExchRate])
                , LASTNONBLANK(DatesBetween(Dates[Date], DateAdd(LastDate(Dates[Date]), -10, day), LastDate(Dates[Date]))
                    , CALCULATE(COUNT(CurrencyConv[ExchRate]))
                  )
              )
            , CurrencyConv[CurrencyFrom] = currFrom
            )
            RETURN IF(isBlank(exchRate) || exchRate = 0 , 1 , exchRate)
       )
 ))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Capital Gain For Cash&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(VALUES(Config[TrackCash]) &amp;lt;&amp;gt; &amp;quot;No&amp;quot;,
  IF(HASONEVALUE(ReportCurrency[ReportCurrency]) &amp;amp;&amp;amp; CONTAINS(VALUES(Symbol[Symbol]), Symbol[Symbol], &amp;quot;* Cash&amp;quot;)
     , SUMX(FILTER(VALUES(Account[Currency]), Account[Currency] &amp;lt;&amp;gt; VALUES(ReportCurrency[ReportCurrency]))
        , [Cash Value] - [Cash Value Start] - CALCULATE([Trans Cash Amnt], All(Symbol))
       )
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Value Change&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;[Equity Value] - [Equity Value Start] - [Trans Ext Symb Flow Amnt] + [CostBasis Adj] + IF(CONTAINS(VALUES(Symbol[Symbol]), Symbol[Symbol], &amp;quot;* Cash&amp;quot;), [Capital Gain For Cash])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Value Change Last Day&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Value Change], All(Dates), Dates[Days-Current] = &amp;quot;Yes&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Total Value by Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HASONEVALUE(Symbol[Currency])), Blank()
 , IF(VALUES(Symbol[Currency]) &amp;lt;&amp;gt; &amp;quot;Cash&amp;quot;
   , [Total Value] + CALCULATE(SUMX(Account, CALCULATE([Cash Value], All(Symbol))), Account[Currency] = VALUES(Symbol[Currency]))
   )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Max Quote Date&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;MAX(Quotes[Date])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Max CurrConv Date&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;MAX(CurrencyConv[Date])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Exch Rate Impact&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(COUNTROWS(VALUES(ReportCurrency[ReportCurrency])) &amp;gt; 1, Blank()
 , IF(VALUES(ReportCurrency[ReportCurrency]) = &amp;quot;*Original*&amp;quot;, Blank()
  , var fDate = IF(PreviousDay(Dates[Date])=Blank(), FirstDate(Dates[Date]), PreviousDay(Dates[Date])) -- First date in the selected period
    var repCurr = VALUES(ReportCurrency[ReportCurrency])
    var currListS = FILTER(VALUES(Symbol[Currency]), Symbol[Currency] &amp;lt;&amp;gt; repCurr &amp;amp;&amp;amp; Symbol[Currency] &amp;lt;&amp;gt; &amp;quot;Cash&amp;quot;)
    var tblDtSymb1 = DISTINCT(UNION(
       CALCULATETABLE(CROSSJOIN(VALUES(Dates[Date]), currListS), CALCULATETABLE(Transactions, TransType[ExternalImpactSymbolSign] = 1, currListS))
         , CROSSJOIN(LASTDATE(Dates[Date]), currListS)
      ))
    var tblDtSymb  = ADDCOLUMNS(tblDtSymb1, &amp;quot;PrevDate&amp;quot;, var dt = [Date] var curr=[Currency] var tDt = MAXX(FILTER(tblDtSymb1, [Date]&amp;lt;dt &amp;amp;&amp;amp; Symbol[Currency]=curr), [Date]) RETURN IF(NOT(ISBLANK(tDt)) &amp;amp;&amp;amp; tDt &amp;gt;= fDate, tDt, fDate))
    
    var resSymb = SUMX(tblDtSymb  
      , var currFrom   = [Currency] var dtLast = [Date] var dtPrev = [PrevDate]
        var amnt = CALCULATE([Equity Value Orig Currency] - [Trans Ext Symb Flow Amnt Orig Currency], Dates[Date] = dtLast)

        var last10Days = CALCULATETABLE(DatesBetween(Dates[Date], DateAdd(Dates[Date], -10, day), dtLast), Dates[Date] = dtLast)
        var last10DaysP= CALCULATETABLE(DatesBetween(Dates[Date], DateAdd(Dates[Date], -10, day), dtPrev), Dates[Date] = dtPrev)
        var exchRate   = CALCULATE(CALCULATE(AVERAGE(CurrencyConv[ExchRate]), LASTNONBLANK(last10Days, CALCULATE(COUNT(CurrencyConv[ExchRate])) ) )
                                   , CurrencyConv[CurrencyFrom] = currFrom, CurrencyConv[CurrencyTo] = repCurr)
        var exchRatePrev = CALCULATE(CALCULATE(AVERAGE(CurrencyConv[ExchRate]), LASTNONBLANK(last10DaysP, CALCULATE(COUNT(CurrencyConv[ExchRate])) ))
                                   , CurrencyConv[CurrencyFrom] = currFrom, CurrencyConv[CurrencyTo] = repCurr)
        RETURN ROUND(amnt * (exchRate - ExchRatePrev), 2)
    )

    var currListC =  FILTER(VALUES(Account[Currency]) , Account[Currency] &amp;lt;&amp;gt; repCurr)
    var tblDtCash1 = DISTINCT(UNION( CALCULATETABLE(CROSSJOIN(VALUES(Dates[Date]), currListC), CALCULATETABLE(Transactions, currListC)), CROSSJOIN(LASTDATE(Dates[Date]), currListC) ))
    var tblDtCash  = ADDCOLUMNS(tblDtCash1, &amp;quot;PrevDate&amp;quot;, var dt = [Date] var curr=[Currency] var tDt = MAXX(FILTER(tblDtCash1, [Date]&amp;lt;dt &amp;amp;&amp;amp; Account[Currency]=curr), [Date]) RETURN IF(NOT(ISBLANK(tDt)) &amp;amp;&amp;amp; tDt &amp;gt;= fDate, tDt, fDate))

    var resCash = SUMX(tblDtCash
      , var currFrom   = [Currency] var dtLast = [Date] var dtPrev = [PrevDate]
        var amnt = CALCULATE([Cash Value Orig Currency] - SUM(Transactions[CashAmnt]), Dates[Date] = dtLast)
                       
        var last10Days = CALCULATETABLE(DatesBetween(Dates[Date], DateAdd(Dates[Date], -10, day), dtLast), Dates[Date] = dtLast)
        var last10DaysP= CALCULATETABLE(DatesBetween(Dates[Date], DateAdd(Dates[Date], -10, day), dtPrev), Dates[Date] = dtPrev)
        var exchRate  = CALCULATE(CALCULATE(AVERAGE(CurrencyConv[ExchRate]), LASTNONBLANK(last10Days, CALCULATE(COUNT(CurrencyConv[ExchRate])) ) )
                             , CurrencyConv[CurrencyFrom] = currFrom, CurrencyConv[CurrencyTo] = repCurr
                       )
        var exchRatePrev= CALCULATE(CALCULATE(AVERAGE(CurrencyConv[ExchRate]), LASTNONBLANK(last10DaysP, CALCULATE(COUNT(CurrencyConv[ExchRate])) ))
                             , CurrencyConv[CurrencyFrom] = currFrom, CurrencyConv[CurrencyTo] = repCurr
                         )
        RETURN ROUND(amnt * (exchRate - exchRatePrev), 2)
    )
  
    var res = resSymb + IF(CONTAINS(Symbol,Symbol[Symbol],&amp;quot;* Cash&amp;quot;), resCash)
    RETURN IF(res=0, Blank(), res)
))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Alloc Actual %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(DIVIDE(Report[Total Value by Allocation] , Report[Total Value]), 6)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Alloc Target %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(Allocation, Allocation[TargetPercent])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Alloc Target&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Total Value], ALL(Symbol), ALL(Allocation)) * [Alloc Target %]&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Alloc Delta&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(Report[Alloc Target] - Report[Total Value by Allocation], 2)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Total Value by Sector&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(VALUES(Symbol[Symbol]), CALCULATE(Report[Total Value] * SUM(SymbolSector[Percent])))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Profit&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;[Value Change] + [Dividends]&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Value Change %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;[Profit %] - [Dividends %]&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Profit %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(CONTAINS(Symbol,Symbol[Symbol],&amp;quot;* Cash&amp;quot;)
, IF(HASONEVALUE(Symbol[Symbol])
   ,var trDates = CALCULATETABLE(VALUES(Dates[Date]), CALCULATETABLE(Transactions, Transactions[TransType]=&amp;quot;Int&amp;quot;, Dates[Mths-Initial] = &amp;quot;No&amp;quot;, ALL(Symbol[Symbol])))
    var tr = ADDCOLUMNS(trDates, &amp;quot;CashValue&amp;quot;, [Cash Value Start], &amp;quot;Interest&amp;quot;, CALCULATE([Trans Total Amnt], TransType[TransType] = &amp;quot;Int&amp;quot;))
    var res = PRODUCTX(tr, 1 + DIVIDE([Interest], [CashValue]))
    RETURN IF(res&amp;lt;&amp;gt;0, res-1)
  , var fDate = FirstDate(Dates[Date])
    var fPrevDate = CALCULATE(IF(PreviousDay(fDate)=Blank(), fDate, PreviousDay(fDate)), ALL(Dates)) -- First date in the selected period
    var tblDtPortf1 = DISTINCT(UNION(PreviousDay(FirstDate(Dates[Date])),   CALCULATETABLE(VALUES(Dates[Date]), CALCULATETABLE(Transactions, TransType[ExternalImpactPortfolioSignCalc] &amp;lt;&amp;gt; 0, Dates[Mths-Initial] = &amp;quot;No&amp;quot;, ALL(Symbol[Symbol])))   , LASTDATE(Dates[Date])))
    var tblDtPortf  = ADDCOLUMNS(tblDtPortf1, &amp;quot;PrevDate&amp;quot;, var dt = LASTDate(Dates[Date]) var tDt = MAXX(FILTER(tblDtPortf1, [Date]&amp;lt;dt), [Date]) RETURN IF(NOT(ISBLANK(tDt)) &amp;amp;&amp;amp; tDt &amp;gt;= fPrevDate, tDt, fPrevDate))
    var tblPortfTrans1 = CALCULATETABLE(
      ADDCOLUMNS(tblDtPortf 
        , &amp;quot;EndValue&amp;quot;  , [Total Value]
        , &amp;quot;ExtImpact&amp;quot; , [Trans Ext Cash Flow Amnt]
      ) 
     , ALL(Symbol[Symbol]) /* In holdings report we have filter [Qty Held] &amp;lt;&amp;gt;0. To go around problems with this filter we remove filter on Symbol[Symbol] */
     )
    var tblPortfTrans2 = FILTER(tblPortfTrans1, [EndValue] &amp;lt;&amp;gt; 0 || [ExtImpact] &amp;lt;&amp;gt; 0)
    var tblPortfTrans3 = ADDCOLUMNS(tblPortfTrans2, &amp;quot;StartValue&amp;quot;, var pd = [PrevDate] RETURN SUMX(FILTER(tblPortfTrans2, [Date]=pd), [EndValue]))
    var tblPortfTrans  = FILTER(tblPortfTrans3, [Date] &amp;gt;= fDate &amp;amp;&amp;amp; [StartValue] + [ExtImpact] &amp;lt;&amp;gt; 0)
    var valChgPortf = PRODUCTX(tblPortfTrans, [EndValue] / ([StartValue] + [ExtImpact]))
    /*RETURN IF(NOT(HASONEVALUE(Symbol[Symbol])), IF(valChgPortf&amp;lt;&amp;gt;0, valChgPortf-1))*/ /* If just one symbol Cash, return empty */
    RETURN IF(valChgPortf&amp;lt;&amp;gt;0, valChgPortf-1)
  )
, var fDate = FirstDate(Dates[Date])
  var fPrevDate = CALCULATE(IF(PreviousDay(fDate)=Blank(), fDate, PreviousDay(fDate)), ALL(Dates)) -- First date in the selected period
  var tblDtSymb1 = DISTINCT(UNION(PreviousDay(FirstDate(Dates[Date])),   CALCULATETABLE(VALUES(Dates[Date]), CALCULATETABLE(Transactions, FILTER(TransType, TransType[ExternalImpactSymbolSign] &amp;lt;&amp;gt; 0 || TransType[DividendFlag] = 1), Dates[Mths-Initial] = &amp;quot;No&amp;quot;)), LASTDATE(Dates[Date])))
  var tblDtSymb  = ADDCOLUMNS(tblDtSymb1, &amp;quot;PrevDate&amp;quot;, var dt = LASTDATE(Dates[Date]) var tDt = MAXX(FILTER(tblDtSymb1, [Date]&amp;lt;dt), [Date]) RETURN IF(NOT(ISBLANK(tDt)) &amp;amp;&amp;amp; tDt &amp;gt;= fPrevDate, tDt, fPrevDate))
  var tblSymbTrans1 = 
    ADDCOLUMNS(tblDtSymb 
      , &amp;quot;EndValue&amp;quot;  , [Equity Value]
      , &amp;quot;ExtImpact&amp;quot; , [Trans Ext Symb Flow Amnt] - [Dividends]
    )     
  var tblSymbTrans2 = FILTER(tblSymbTrans1, [EndValue] &amp;lt;&amp;gt; 0 || [ExtImpact] &amp;lt;&amp;gt; 0)
  var tblSymbTrans3 = ADDCOLUMNS(tblSymbTrans2, &amp;quot;StartValue&amp;quot;, var pd = [PrevDate] RETURN SUMX(FILTER(tblSymbTrans2, [Date]=pd), [EndValue]))
  var tblSymbTrans  = FILTER(tblSymbTrans3, [Date] &amp;gt;= fDate &amp;amp;&amp;amp; [StartValue] + [ExtImpact] &amp;lt;&amp;gt; 0)
  var valChgSymb = PRODUCTX(tblSymbTrans, [EndValue] / ([StartValue] + [ExtImpact]))
  RETURN IF(valChgSymb&amp;lt;&amp;gt;0, valChgSymb-1)  
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Dividends %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var tr = CALCULATETABLE(Transactions, TransType[DividendFlag]=1)
 RETURN IF(NOT(ISEMPTY(tr)), var res = PRODUCTX(CALCULATETABLE(VALUES(Dates[Month]), tr), 1+DIVIDE([Dividends], [Total Value]))-1 RETURN IF(res=-1 || ROUND(res,5)=0, Blank(), res) )&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Exch Rate Impact %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var res = PRODUCTX(VALUES(Dates[Month]), 1+DIVIDE([Exch Rate Impact], [Total Value]))-1 RETURN IF(res=-1 || ROUND(res,5)=0, Blank(), res)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Avg Mthy Dividends&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;DIVIDE([Dividends], COUNTROWS(VALUES(Dates[Month])))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Avg Mthly Deposits&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;DIVIDE([Deposits], COUNTROWS(VALUES(Dates[Month])))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;CostBasis Adj&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE(SUMX(Transactions, ([TotalAmnt] - [CostBasisOverride]) * [TransExchRate]), TransType[BookValueSign]=1, Transactions[CostBasisOverride]&amp;lt;&amp;gt;0)
- CALCULATE([Trans Total Amnt], TransType[DistribCapGainReinvstdFlag] = 1)
+ CALCULATE([Trans Total Amnt], TransType[DistribReturnOfCapitalFlag] = 1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Value Change Base&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;[Equity Value] - [Equity Value Start] - [Trans Ext Symb Flow Amnt] + IF(CONTAINS(VALUES(Symbol[Symbol]), Symbol[Symbol], &amp;quot;* Cash&amp;quot;), [Capital Gain For Cash])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Annlzd RoR Last 3 Yrs&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Annlzd RoR], Dates[Years-Last 3]=&amp;quot;Yes&amp;quot;, All(Dates))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Avg Mthly Dividends Prev Yr&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Avg Mthy Dividends], Dates[Years - Previous]=&amp;quot;Yes&amp;quot;, All(Dates))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Sales Amnt&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[SellFlag] = 1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Sales Cost Basis&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HasOneValue(ReportCurrency[CurrencyID])), CALCULATE(SUM(Transactions[CostBasisImpact]), TransType[SellFlag]=1)
    , SWITCH(VALUES(ReportCurrency[CurrencyID]), 1, CALCULATE(SUM(Transactions[CostBasisImpactRpt1]), TransType[SellFlag]=1)
            , 2, CALCULATE(SUM(Transactions[CostBasisImpactRpt2]), TransType[SellFlag]=1)
            , 3, CALCULATE(SUM(Transactions[CostBasisImpactRpt3]), TransType[SellFlag]=1)
               , CALCULATE(SUM(Transactions[CostBasisImpact]), TransType[SellFlag]=1)
    )
) * (-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Withholding Tax Paid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt], TransType[WithholdingTaxFlag] = 1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Expd Profit %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(NOT(HASONEVALUE(CompareTo[ID])), Blank()
 , SWITCH(VALUES(CompareTo[ID])
 , &amp;quot;0&amp;quot;, [Profit %]
 , &amp;quot;1&amp;quot;, var symb = VALUES(CompareTo[Symbol]) RETURN IF(symb&amp;lt;&amp;gt;&amp;quot;N/A&amp;quot;,[Expd Profit % (Alloc)])
 , var symb = VALUES(CompareTo[Symbol])
   var lastPrice = CALCULATE(Report[Symbol Price], Symbol[Symbol]=symb, LASTDATE(Dates[Date])   , All(Dates), All(Symbol))
   var prevPrice = CALCULATE(Report[Symbol Price], Symbol[Symbol]=symb, PreviousDay(Dates[Date]), All(Dates), All(Symbol))
   RETURN 
   IF(ISBLANK(PreviousDay(Dates[Date])) || ISBLANK(symb), BLANK()
     , IF(ISBLANK(lastPrice) || ISBLANK(prevPrice), Blank()
       , DIVIDE(lastPrice, prevPrice) - 1
         + var adj = VALUES(CompareTo[AnnlAdj]) var dCount = COUNTROWS(Dates) RETURN IF(NOT(ISBLANK(adj)) &amp;amp;&amp;amp; ISNUMBER(adj), adj / 365 * dCount)
       )
     )
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Expd Profit % Diff&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(HASONEVALUE(CompareTo[ID])
 , IF(Values(CompareTo[ID]) = &amp;quot;0&amp;quot;, Blank(),
    var res = CALCULATE([Expd Profit %], CompareTo[ID]=&amp;quot;0&amp;quot;, ALL(CompareTo)) - [Expd Profit %]
     RETURN IF(res=0, Blank(), res)
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Expd Profit % (Alloc)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF(IsBlank(PreviousDay(Dates[Date])) || (Report[Total Value] = 0 &amp;amp;&amp;amp; Report[Total Value Start] = 0 &amp;amp;&amp;amp; COUNTROWS(Transactions) = 0), Blank()
 , IF(HASONEVALUE(Allocation[Allocation]) /* Just one allocation */
   , var allocIndex = VALUES(Allocation[Index])
     var lastPrice  = CALCULATE([Symbol Price], Symbol[Symbol]=allocIndex, LASTDATE(Dates[Date])   , All(Dates), All(Symbol))
     var prevPrice  = CALCULATE([Symbol Price], Symbol[Symbol]=allocIndex, PreviousDay(Dates[Date]), All(Dates), All(Symbol))
     RETURN IF(ISBLANK(lastPrice) || ISBLANK(prevPrice), Blank(), DIVIDE(lastPrice, prevPrice) - 1)
   , SUMX(FILTER(Allocation, Allocation[Index] &amp;lt;&amp;gt; &amp;quot;&amp;quot; &amp;amp;&amp;amp; Report[Total Value by Allocation]&amp;lt;&amp;gt;0), CALCULATE(
       PRODUCTX(VALUES(Dates[Month])
         , CALCULATE(
            var allocIndex = VALUES(Allocation[Index])
            var lastPrice  = CALCULATE([Symbol Price], Symbol[Symbol]=allocIndex, LASTDATE(Dates[Date])   , All(Dates), All(Symbol))
            var prevPrice  = CALCULATE([Symbol Price], Symbol[Symbol]=allocIndex, PreviousDay(Dates[Date]), All(Dates), All(Symbol))
            var priceChg   = IF(ISBLANK(lastPrice) || ISBLANK(prevPrice), Blank(), DIVIDE(lastPrice, prevPrice) - 1)
            var tValue     = [Total Value by Allocation]
            var tValueAll  = [Total Value]
            RETURN IF(ISBLANK(lastPrice) || ISBLANK(prevPrice) || ISBLANK(tValue), Blank(), 1 + priceChg * DIVIDE(tValue, tValueAll))
         )
       ) - 1
      )
     )
   )
)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Cash Value Orig Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;ROUND(IF(VALUES(Config[TrackCash])=&amp;quot;Yes&amp;quot;
 , IF(CONTAINS(Symbol,Symbol[Symbol],&amp;quot;* Cash&amp;quot;)
     , CALCULATE(SUM(Transactions[CashAmnt]), DATESBETWEEN(Dates[Date], BLANK(), LastDate(Dates[Date])), All(Dates), All(Symbol), All(TransType))
   )
)
, 5)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Equity Value Orig Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(Symbol  , var qty = [Qty Held] RETURN IF(qty&amp;lt;&amp;gt;0, qty * [Symbol Price Orig Currency]))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Total Amnt Orig Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(Transactions, [TotalAmnt])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Trans Ext Symb Flow Amnt Orig Currency&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Trans Total Amnt Orig Currency], TransType[QtySign]=1) - CALCULATE([Trans Total Amnt Orig Currency], TransType[QtySign]=-1)&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Avg Yrly Dividends&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;DIVIDE([Dividends], COUNTROWS(VALUES(Dates[Month]))) * 12&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Avg Yrly Dividends %&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;DIVIDE([Dividends %], COUNTROWS(VALUES(Dates[Month]))) * 12&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Profit % to date&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;CALCULATE([Profit %], DATESBETWEEN(Dates[Date], Blank(), LASTDATE(Dates[Date])))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Symbol Price (Exists)&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;IF([Qty Held]&amp;lt;&amp;gt;0, [Symbol Price])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Total Value by Allocation&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;SUMX(VALUES(Allocation[Allocation]), SUMX(CALCULATETABLE(VALUES(Symbol[Symbol]), SymbolAllocation), CALCULATE(VALUES(SymbolAllocation[Percent])) * [Total Value]))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;LastRefresh&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;VALUES(&amp;apos;Config&amp;apos;[RefreshTime])&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;Deposits Avg To Date&lt;/code&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;&lt;code&gt;var my=CALCULATE(MAX(Dates[Year]), Dates[Mths-Initial]&amp;lt;&amp;gt;&amp;quot;Yes&amp;quot;) RETURN IF(my=BLANK(), BLANK(), CALCULATE(AVERAGEX(VALUES(Dates[Year]), [Deposits]), ALL(Dates), Dates[Year]&amp;lt;=my, Dates[Mths-Initial] &amp;lt;&amp;gt; &amp;quot;Yes&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    
    <item>
      <title>Account.csv</title>
      <link>http://www.portfolioslicer.com/data/file-account.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-account.html</guid>
      <description>

&lt;h2 id=&#34;overview:60b995ff1d836809e96e66d57488e6ff&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Account.csv&lt;/code&gt; contains the list of accounts used by Portfolio Slicer reports.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Account.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Allocation.csv</title>
      <link>http://www.portfolioslicer.com/data/file-allocation.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-allocation.html</guid>
      <description>

&lt;h2 id=&#34;overview:850cbf7a12d6fe503a25d2100d9f23d1&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Allocation.csv&lt;/code&gt; contains the list of allocation values used in Portfolio Slicer reports.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Allocation.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>CompareTo.csv</title>
      <link>http://www.portfolioslicer.com/data/file-compareto.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-compareto.html</guid>
      <description>

&lt;h2 id=&#34;overview:d44b26005db465e25be6fa0e4e331a65&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;CompareTo.csv&lt;/code&gt; contains the comparison targets used in Portfolio Slicer reports.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-CompareTo.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Config.csv</title>
      <link>http://www.portfolioslicer.com/data/file-config.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-config.html</guid>
      <description>

&lt;h2 id=&#34;overview:fbd9e0ea6feec6f1c8f11503f988339d&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Config.csv&lt;/code&gt; is one of the files stored in &lt;code&gt;C:\PortfolioSlicer\PSData\&lt;/code&gt; and loaded into Portfolio Slicer report files.
This extract normally contains just a single record.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Config.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Report.csv</title>
      <link>http://www.portfolioslicer.com/data/file-report.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-report.html</guid>
      <description>

&lt;h2 id=&#34;overview:a3940350ad8b7de685f6a11d89bc072c&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Report.csv&lt;/code&gt; contains a single placeholder record. This table is used to attach calculated measures inside the Power Pivot model.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Report.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>ReportCurrency.csv</title>
      <link>http://www.portfolioslicer.com/data/file-reportcurrency.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-reportcurrency.html</guid>
      <description>

&lt;h2 id=&#34;overview:161a63b19af97c5e15f86a9a2269f785&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ReportCurrency.csv&lt;/code&gt; lists the reporting currencies used in Portfolio Slicer. The expected first record after the header is &lt;code&gt;*Original*&lt;/code&gt;, &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-ReportCurrency.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Symbol.csv</title>
      <link>http://www.portfolioslicer.com/data/file-symbol.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-symbol.html</guid>
      <description>

&lt;h2 id=&#34;overview:d4a1ed32a4ab8cf091617b4d70827c9c&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Symbol.csv&lt;/code&gt; contains the list of all symbols, or investments, used by Portfolio Slicer.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Symbol.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SymbolAllocation.csv</title>
      <link>http://www.portfolioslicer.com/data/file-symbol-allocation.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-symbol-allocation.html</guid>
      <description>

&lt;h2 id=&#34;overview:e89460692f90d49fd656c5754f0a4665&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SymbolAllocation.csv&lt;/code&gt; contains symbol assignments to allocation values.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-SymbolAllocation.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>SymbolSector.csv</title>
      <link>http://www.portfolioslicer.com/data/file-symbol-sector.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-symbol-sector.html</guid>
      <description>

&lt;h2 id=&#34;overview:1e68ab960613a289ff8e5b3ff120ec7f&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;SymbolSector.csv&lt;/code&gt; contains records that assign each &lt;code&gt;Symbol&lt;/code&gt; to &lt;code&gt;Sector&lt;/code&gt; and &lt;code&gt;Sensitivity&lt;/code&gt; values.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-SymbolSector.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TransType.csv</title>
      <link>http://www.portfolioslicer.com/data/file-transtype.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-transtype.html</guid>
      <description>

&lt;h2 id=&#34;overview:cfa3363ea37e3a7cacf0000a14041269&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;TransType.csv&lt;/code&gt; contains the transaction-type definitions used by Portfolio Slicer reports.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-TransType.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Transactions.csv</title>
      <link>http://www.portfolioslicer.com/data/file-transactions.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-transactions.html</guid>
      <description>

&lt;h2 id=&#34;overview:4a28b6057fb91e3b5e08090c397014da&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Transactions.csv&lt;/code&gt; is created from &lt;code&gt;TransactionsInExcel.csv&lt;/code&gt; with additional information about cost basis impact.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-Transactions.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TransactionsInExcel.csv</title>
      <link>http://www.portfolioslicer.com/data/file-transactions-in-excel.html</link>
      <pubDate>Mon, 23 Mar 2026 12:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/file-transactions-in-excel.html</guid>
      <description>

&lt;h2 id=&#34;overview:766b89faacab4e5747da1df1110ea241&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;TransactionsInExcel.csv&lt;/code&gt; contains all transactions extracted from the Portfolio Slicer source file.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/script/rf-TransactionsInExcel.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>TransType Table</title>
      <link>http://www.portfolioslicer.com/data/excel-transtype-table.html</link>
      <pubDate>Fri, 20 Mar 2026 13:00:00 -0400</pubDate>
      
      <guid>http://www.portfolioslicer.com/data/excel-transtype-table.html</guid>
      <description>

&lt;h2 id=&#34;overview:ded08c920c608b2899e67cbe657dbf55&#34;&gt;Overview&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;TransType&lt;/code&gt; table documents the transaction types used by Portfolio Slicer.&lt;/p&gt;

&lt;p&gt;This is internal table, that you should never edit.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;http://www.PortfolioSlicer.com/img/source-excel/se-TransType.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;transtype-explanations:ded08c920c608b2899e67cbe657dbf55&#34;&gt;TransType explanations&lt;/h2&gt;

&lt;p&gt;Although you will never need to edit this table, it is helpful to understand supported TransType values that are used in &lt;a href=&#34;http://www.PortfolioSlicer.com/data/excel-transactions-table.html&#34;&gt;transactions table&lt;/a&gt; TransType column.&lt;/p&gt;

&lt;p&gt;Here are supported TransType values and short explanation of each transaction type.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BankFee&lt;/code&gt; - Fee charged by Bank. Symbol should be &lt;code&gt;* Cash&lt;/code&gt;, Qty should be 1. Price value is bank fee amount in the currency of the account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Buy&lt;/code&gt; - Symbol &amp;ldquo;Buy&amp;rdquo; transaction. Qty should be number of shares bought. Price should be an &lt;strong&gt;amount you paid for each share&lt;/strong&gt;. Fee should be amount the investment institution charges for this transaction.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BuyTA&lt;/code&gt; - Symbol &amp;ldquo;Buy Total Amount&amp;rdquo; transaction. Qty should be number of shares bought. Price should be &lt;strong&gt;total amount for all shares&lt;/strong&gt;. Fee should be amount the investment institution charges for this transaction.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Deposit&lt;/code&gt; - Cash deposit into the account. Symbol should be &lt;code&gt;* Cash&lt;/code&gt;, Qty should be 1. Price value is amount deposited in the currency of the account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Div&lt;/code&gt; - Dividends received. Qty should be number of shares that paid dividends. Price should be &lt;strong&gt;amount of dividends received per share&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DivTA&lt;/code&gt; - Dividends Total Amount received. Qty should be number of shares that paid dividends. Price should be &lt;strong&gt;total dividends amount received&lt;/strong&gt; in this account from this holding.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DRIP&lt;/code&gt; - Not implemented, do not use.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;INT&lt;/code&gt; - Interest paid into the account. Symbol should be &lt;code&gt;* Cash&lt;/code&gt;, Qty should be 1. Price value is bank fee amount in the currency of the account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NotionalDistrib&lt;/code&gt; - special type of dividends that are reinvested. Qty should be number of shares, Price is the value of total dividends.
This dividend does not change cash value in the account, but they &lt;strong&gt;increase holdings cost basis&lt;/strong&gt;. This type of dividends is paid (rarely) by some ETFs or mutual funds.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ReturnOfCapital&lt;/code&gt; - special type of dividends that are &amp;ldquo;Return of Capital&amp;rdquo;. Qty should be number of shares, Price is the value of total dividends. This type of dividends &lt;strong&gt;reduce holding cost basis&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Sell&lt;/code&gt; - Symbol &amp;ldquo;Sell&amp;rdquo; transaction. Qty should be number of shares sold. Price should be an amount you received &lt;strong&gt;per each share sold&lt;/strong&gt;. Fee should be amount the investment institution charges for this transaction.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SellTA&lt;/code&gt; - Symbol &amp;ldquo;Sell Total Amount&amp;rdquo; transaction. Qty should be number of shares sold. Price should be an amount you received &lt;strong&gt;for all shares sold&lt;/strong&gt;. Fee should be amount the investment institution charges for this transaction.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Split&lt;/code&gt; - Symbol split transaction. Symbol should be an investment, that announced quantity split. Price, Fee should be empty. Qty should be +x or -x, where x represents number of shared received or lost during the split. &lt;br&gt;
For example, You hold 300 shares of symbol VOO. If the split rules are: &amp;ldquo;For each 3 shares you will receive 1 share&amp;rdquo;, the Qty value should be -200 (You had 300 shares and after split you will have just 100 shares). &lt;br&gt;
Another example, if for the same hold split rules are &amp;ldquo;For each Share you will receive 2 shares, then Qty values should be +300 (You had 300 shares and after split you will have 600 shares).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SymbolTransferIn&lt;/code&gt; - Symbol transfer into the account. Qty should be the number of shares transfered in. Price should be symbol quote at the day (or day before) of the transfer.
The price should be equal of SymbolTransferOut transaction adjusted for currency coversion (if any).&lt;br&gt;
For this type of transaction it is important to specify value in &lt;code&gt;CostBasisOverride&lt;/code&gt; column - what value Portfolio Slicer should assign to &lt;strong&gt;Cost Basis&lt;/strong&gt; of this symbol.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SymbolTransferOut&lt;/code&gt; - Symbol transfer out of the account. Qty should be the number of shares transfered out. Price should be symbol quote at the day (or day before) of the transfer.
This transaction type will not trigger &amp;ldquo;Sale&amp;rdquo; of the symbol.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SymbolTransferOutAsSale&lt;/code&gt; - Symbol transfer out of the account that triggers a sale. Qty should be number of shares transfered out. Price should be symbol quote at the day (or day before) of the transfer.
This transaction type will trigger &amp;ldquo;Sale&amp;rdquo; of the symbol and this transfer will appear as &amp;ldquo;Sale&amp;rdquo; in the sales reports. You would use this type of transaction when the transfer out is considered a sale, for example when transfering out of &amp;ldquo;Cash&amp;rdquo; account into &amp;ldquo;RRSP&amp;rdquo; or &amp;ldquo;401K&amp;rdquo; account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WHTX&lt;/code&gt; - Withholding tax on dividends received. Symbol should be investment that paid dividends. Qty value can be ignored. Price value is the amount that was withheld.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Withdraw&lt;/code&gt; - Cash withdrawn from the account. Symbol should be &lt;code&gt;* Cash&lt;/code&gt;, Qty should be 1. Price value is amount withdrawn in the currency of the account.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DripTA&lt;/code&gt; - not implemented, do not use.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>