Rapatriement données cachées derrière un lien hypertext

Bonjour

Je crée ce post car depuis des jours je me heurte à un souci... de taille pour moi :)

Je tente désespérément de rapatrier les infos financières de quelques sociétés de Yahoo finance (us pour ma part) Comme vous devez le savoir, yahoo finance pour une société permet de nous afficher les bilans, flux de trésorerie etc... Malheureusement:

- Pas de table html

- Et des valeurs cachées , qui peuvent en fait être affichées via un lien "Expand All".

C'est sur ce dernier point que je bute depuis des jours !!! Pensez vos que ceci soit possible? (sans les objets IE qui ralentiraient les procédures, pour préciser!)

Liens des tests, les 3 tableaux à rapatrier:

<url yahoo finance>/financials?p=ticker
<url yahoo finance>/balance-sheet?p=ticker

<url yahoo finance>/cash-flow?p=ticker

Pour info:: je souhaite absolument garder Excel. Tous mes scripts gèrent excel et je me vois mal refaire la totalité!

Un grand merci d'avance de votre aide.

Bonjour,

Une première version Google Sheets, plus "facile" à réaliser car les données nombreuses sont enchâssées dans un json, format standard utilisé pour représenter des données structurées de façon semblable aux objets Javascript , et justement le langage de script de GSheets est basé sur du javascript.

A partir de là, on pourra plus facilement transposer en VBA.

function getData(url,donnees){
  var radical = 'data.context.dispatcher.stores.QuoteTimeSeriesStore.timeSeries'
  var xpath=['asOfDate','periodType','currencyCode','reportedValue.raw']
  var result=[]
  if (typeof donnees == 'object'){var tableaux = donnees.join().split(",")} else {var tableaux = donnees.split("|")}
  var source = UrlFetchApp.fetch(url).getContentText()
  var jsonString = source.match(/(?<=root.App.main = ).*(?=}}}})/g) + '}}}}'
  var data = JSON.parse(jsonString)
  tableaux.forEach(function(tableau){
    var json = eval(radical+'.'+tableau)
    xpath.forEach(function(way){
      var prov=[]
      prov.push(tableau)
      prov.push(way)
      for(var i=0; i<json.length;i++){
        try{prov.push(eval(radical+'.'+tableau+'['+i+']'+'.'+way))}
        catch(e) {prov.push('?');}
      }
      result.push(prov)
    })
    xpath=['reportedValue.raw']
  })
  return result
}

https://docs.google.com/spreadsheets/d/1wh6JzXG8YJiipDBsuF_kgsrgHHtMxT9Co_rDCYplOU8/copy

Nota : Aux États-Unis, la justice estime que les données sont publiques en étant diffusées via Internet et peuvent donc être librement collectées via web scraping.
Contrairement à la Cour Européenne qui a décidé que les entreprises européennes peuvent utiliser les CGU de leur site web pour interdire le scraping de leurs données. Cette demande est donc recevable.

Bonjour,

version excel

Option Explicit
Option Base 1

Sub timeSeriesFin()
Dim json As String, data As Object, param, nbr%, result(), i%, j%, period(1, 4), f As Worksheet, ScriptEngine As Object

    Set f = Sheets("financials")
    param = Range("fin").Value

    Set ScriptEngine = CreateObject("MSScriptControl.ScriptControl")
    With ScriptEngine
        .Language = "JScript"
        .AddCode "Object.prototype.element=function( i ) { return this[i] } ; "
    End With
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", f.Cells(2, 1), False
        .send
        json = Split(Split(.responsetext, "root.App.main = ")(1), "}}}};")(0) + "}}}}"
        Set data = ScriptEngine.Eval("(" + CStr(json) + ")")
    End With

    nbr = UBound(param)
    ReDim result(nbr, 4)
    For i = 1 To nbr
        For j = 1 To 4
            On Error Resume Next
            result(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).reportedValue.raw
            On Error GoTo 0
        Next
    Next
    i = 1
        For j = 1 To 4
            On Error Resume Next
            period(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).asOfDate
            On Error GoTo 0
        Next
    ' fin i

    f.Range("B4").Resize(UBound(period, 1), UBound(period, 2)) = period
    f.Range("B5").Resize(UBound(result, 1), UBound(result, 2)) = result

End Sub

Sub timeSeriesCash()
Dim json As String, data As Object, param, nbr%, result(), i%, j%, period(1, 4), f As Worksheet, ScriptEngine As Object

    Set f = Sheets("cash-flow")
    param = Range("cash").Value

    Set ScriptEngine = CreateObject("MSScriptControl.ScriptControl")
    With ScriptEngine
        .Language = "JScript"
        .AddCode "Object.prototype.element=function( i ) { return this[i] } ; "
    End With
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", f.Cells(2, 1), False
        .send
        json = Split(Split(.responsetext, "root.App.main = ")(1), "}}}};")(0) + "}}}}"
        Set data = ScriptEngine.Eval("(" + CStr(json) + ")")
    End With

    nbr = UBound(param)
    ReDim result(nbr, 4)
    For i = 1 To nbr
        For j = 1 To 4
            On Error Resume Next
            result(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).reportedValue.raw
            On Error GoTo 0
        Next
    Next
    i = 1
        For j = 1 To 4
            On Error Resume Next
            period(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).asOfDate
            On Error GoTo 0
        Next
    ' fin i

    f.Range("B4").Resize(UBound(period, 1), UBound(period, 2)) = period
    f.Range("B5").Resize(UBound(result, 1), UBound(result, 2)) = result

End Sub

Sub timeSeriesBal()
Dim json As String, data As Object, param, nbr%, result(), i%, j%, period(1, 4), f As Worksheet, ScriptEngine As Object

    Set f = Sheets("balance")
    param = Range("bal").Value

    Set ScriptEngine = CreateObject("MSScriptControl.ScriptControl")
    With ScriptEngine
        .Language = "JScript"
        .AddCode "Object.prototype.element=function( i ) { return this[i] } ; "
    End With
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", f.Cells(2, 1), False
        .send
        json = Split(Split(.responsetext, "root.App.main = ")(1), "}}}};")(0) + "}}}}"
        Set data = ScriptEngine.Eval("(" + CStr(json) + ")")
    End With

    nbr = UBound(param)
    ReDim result(nbr, 4)
    For i = 1 To nbr
        For j = 1 To 4
            On Error Resume Next
            result(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).reportedValue.raw
            On Error GoTo 0
        Next
    Next
    i = 1
        For j = 1 To 4
            On Error Resume Next
            period(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(param(i, 1), " ", "")).element(j - 1).asOfDate
            On Error GoTo 0
        Next
    ' fin i

    f.Range("B4").Resize(UBound(period, 1), UBound(period, 2)) = period
    f.Range("B5").Resize(UBound(result, 1), UBound(result, 2)) = result

End Sub

on aurait pu rassembler les 3 macros en une seule sans doute

20yahoo.xlsm (35.05 Ko)

WOW quelle réactivité !

Merci à vous 2, je vais regarder ça dès ce soir, et je vous fais un retour...

Juste une question vba/Excel classique: je vais créer un nouveau module pour ce code (nommé "JSON"), mais je souhaite modifier un tableau de valeur string (ou Variant), qui est déclaré dans un autre module... j'avoue que je coince sur comment appeler ce tableau dans le nouveau module JSON.

Et pas question de passer un tableau par des arguments de sub, non?

Des idées, pour m'avancer un peu ?

on peut passer un tableau en argument d'une fonction

mais je n'ai pas bien compris ta question !

VOici mon retour. L'intégration s'est bien passé. La majorité des fonctions marchent nickel.

Il me reste juste le souci suivant: Sur cette partie de code, pour le ticker FW.V pour cette url <http finance yahoo/quote/>FW.V/balance-sheet?p=FW.V

json = Split(Split(.responseText, "root.App.main = ")(1), "}}}};")(0) + "}}}}"

L'erreur image ci dessous apparait:

issue

J'avoue que je sèche un peu... Avez vous des idées?

Il manque la donnée annual Propertieset du coup cela coince sur GSheets que j'ai corrigé, mais cela ne coince pas sur excel.

Re-essaye.

J'ai bien la donnée annual Propertiesdans ma feuille pour la Balance sheet... Du coup strange !

Mais ce que tu dis m'interpelle !

Les données mises en zone dans les 3 feuilles ne sont pas statiques ?

Elles peuvent varier d'une société à une autre ?

Non, tu n'as pas la donnée, elle est sans valeur et n'existe pas dans le json, si tu as sauvegardé le json dans un fichier, essaie de la retrouver dans le cadre de Flow Capital Corp.

image

les données sont ici statiques, mais je pourrais les rendre dynamiques (je ne pense pas que ce soit bien car cela mettrait le bazar dans le reste de ton application).

OK, c'est ce que tu voulais dire. En effet, la ligne y est, mais aucune valeur à dates.

En revanche, à priori il manque des libellés en colonne A (pour l'instant je ne suis que sur le cashflow)...

Comment as tu extrait la liste des données en col. A?

Je décortiques d'abord en GSheets, c'est plus facile, enfin disons un peu moins complexe (au passage, steelson c'est moi aussi, plutôt excel, et Staliyevich plutôt GSheets).

Je vais voir si, pour yahoo, je peux donner en dynamique les libellés sans trop de difficultés.

En ajoutant une fonction au MSScriptControl.ScriptControl

        .AddCode "function objets(jsonObj){var output = ''; for (var property in jsonObj) {if (typeof jsonObj[property] === 'object' && jsonObj[property] !== null) {output += property + '||';};};return output.substr(0,output.length-2);} "

j'obtiens un gros paquet de données ...

Option Explicit
Option Base 1

Sub timeSeries()
Dim json As String, data As Object, param, nbr%, result(), i%, j%, f As Worksheet, ScriptEngine As Object, elem As Object, t As Variant

    Set f = ActiveSheet

    Set ScriptEngine = CreateObject("MSScriptControl.ScriptControl")
    With ScriptEngine
        .Language = "JScript"
        .AddCode "Object.prototype.element=function( i ) { return this[i] } ; "
        .AddCode "function objets(jsonObj){var output = ''; for (var property in jsonObj) {if (typeof jsonObj[property] === 'object' && jsonObj[property] !== null) {output += property + '||';};};return output.substr(0,output.length-2);} "
    End With
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", f.Cells(2, 1), False
        .send
        json = Split(Split(.responsetext, "root.App.main = ")(1), "}}}};")(0) + "}}}}"
        Set data = ScriptEngine.Eval("(" + CStr(json) + ")")
    End With

' recherche des tableaux
    t = Split(ScriptEngine.Run("objets", data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries), "||")
    nbr = UBound(t)
    ReDim result(nbr, 9)
    For i = 1 To nbr
        result(i, 1) = t(i)
        For j = 2 To 5
            On Error Resume Next
            result(i, 2 * j - 2) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(t(i)).element(j - 2).asOfDate
            result(i, 2 * j - 1) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(t(i)).element(j - 2).reportedValue.raw
            On Error GoTo 0
        Next
    Next

    f.Range("A5").Resize(UBound(result, 1), UBound(result, 2)) = result

End Sub
11yahoo-v2.xlsm (49.26 Ko)

hehe ok pour les pseudos !

Du coup effectivement, beaucoup plus de données. Et ce sont bien celles là qu'il nous faut.

En tout, cas il y a toutes celles qui me manquaient... Cela dit, les dates sont en ordonnées, et non en abscisses ligne 1

Problème de parcours de j?

je ne les ai pas mis en ligne car, comme tu le vois, les dates ne sont pas régulières ... il faudrait que je fasse une première boucle pour les connaître toutes et ensuite ranger les valeurs par colonnes homogènes en date ... mais comme je ne sais pas si que tu en fais derrière, j'ai juste mis côté à côté la valeur et la date de valeur" (asOfDate) sachant que l'on peut ensuite traiter facilement en reprenant le tout

ainsi va yahoo ... tu peux fouiller, il y a 16.000 valeurs dans le json.

OK je vois...

Eh bien du coup, mon besoin serait le suivant:

libellésAnnéeAnnée - 1Année - 2
annualBlablablaBliblibli

- Sur toutes les données "annual". J'ai vu que rapatrier les données TTM n'étaient pas si simple

Après, qu'on les affiche dans des sheets, ou qu'on utilise des tableaux, je ne sais pas quel est le plus rapide en traitement?

Ce que je fais ensuite c'est de reprendre ces valeurs et calculer des ratios. Voilà pourquoi je voulais utiliser des array au départ au lieu de sheets. Mais mon problème est l'utilisation de ces tableaux (les passer en paramètre des fonctions, pas dans même module etc...). En gros mon arbo est la suivante:

  1. Module1: fonctions utiles standard (tester des urls, nettoyer des string, etc...)
  2. Module2: fonctions pour traiter les JSON (ton code en fait adapté à mon appli)
  3. Module3: Module import - mon module principal avec 2 fonctions
    1. Fonction1: traitement d'après les choix users et agencement URL
    2. Fonction2: calcul des ratios et affichage dans les bonnes celulles

Du coup, je devrai avoir interactions entre Fonction2 et Module2, d'où passer les tableaux via fonctions...

Je ne sais pas si c'est tout à fait clair

Et ensuite parcourir ces tableaux. Des idées pour cela?

je me disais aussi que je ferais bien une liste à la Prévert (donnée/date/valeur) qui permet ensuite de faire facilement un TCD

je le ferai d'ici demain matin, à toi de voir si cela peut convenir

Bon je m'arrache les cheveux avec ce JSON! En fait, cette liste à la Prévert, tu l'as déjà, elle est dans le Excel yahoo.v2. Elle est très bien...

MAIS Toutes les valeurs n'ont en fait pas toutes un QuoteTimesSeriesStore. Mais par contre un QuoteSummaryStore oui (en revanche, je préfère utiliser QuoteTimeSeriesStore, plus complet au niveau données... Oui je sais je suis chiant )

Donc mon idée est que dès que l'on ne détecte pas de QuoteTimeSeriesStore, on passe à QuoteSummaryStore:

[...]    
    quoteTime = True
    timeS = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries

    If IsNull(timeS) Then
        quoteTime = False
    End If

    nbr = UBound(paramInc)
    ReDim result(nbr, 4)
    'Look for financials data
    For i = 1 To nbr
        For j = 1 To 4
            On Error Resume Next
            If quoteTime = True Then
                result(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(paramInc(i, 1)).element(j - 1).reportedValue.raw
            Else
                result(i, j) = data.element("context").dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory.element(j - 1).element(sRight(paramInc(i, 1), "annual")).raw
            End If
            On Error GoTo 0
        Next
    Next
    i = 1
    'Look for the periods
    For j = 1 To 4
        On Error Resume Next
        If quoteTime = True Then
            period(i, j) = data.element("context").dispatcher.stores.QuoteTimeSeriesStore.timeSeries.element(Replace(paramInc(i, 1), " ", "")).element(j - 1).asOfDate
        Else
            period(i, j) = data.element("context").dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory.element(j).EndDate.fmt
        End If
        On Error GoTo 0
    Next
* sRight: est une fonction perso dédiée pour prendre un bout de string à droite (même si je sais que trim+right font l'affaire, j'ai eu besoin d'en faire une perso!)

Cela marche toujours pour QuoteTimeSeriesStore, mais absolument pas pour QuoteSummaryStore !!! Et je n'arrive pas à trouver pourquoi

Si tu as des idées... n'hésite pas.

pour le moment, j'en suis là avec un TCD pour présentation selon années

8yahoo-v3.xlsm (116.61 Ko)

ok, je repasse sous GSheets pour explorer QuoteSummaryStore et ajouter les données

C'est le souk, voici toutes les données que j'ai (en financials)

data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[0].capitalExpenditures.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].otherCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[1].capitalExpenditures.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].issuanceOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].otherCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[2].capitalExpenditures.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].issuanceOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].otherCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistory.cashflowStatements[3].capitalExpenditures.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[0].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].shortTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[1].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[2].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistoryQuarterly.balanceSheetStatements[3].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.earningsChart.earningsDate[0].raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[0].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[0].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[1].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[1].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[2].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[2].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[3].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.yearly[3].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[0].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[0].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[1].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[1].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[2].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[2].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[3].revenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.earnings.financialsChart.quarterly[3].earnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketOpen.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.averageDailyVolume3Month.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketDayHigh.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.averageDailyVolume10Day.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketChange.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketPreviousClose.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketDayLow.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.priceHint.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketPrice.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketVolume.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.marketCap.raw
data.context.dispatcher.stores.QuoteSummaryStore.price.regularMarketChangePercent.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[0].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[1].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[2].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistoryQuarterly.incomeStatementHistory[3].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[0].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].discontinuedOperations.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[1].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].discontinuedOperations.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[2].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].incomeBeforeTax.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].sellingGeneralAdministrative.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].grossProfit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].ebit.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].operatingIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].interestExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].incomeTaxExpense.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].totalRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].totalOperatingExpenses.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].costOfRevenue.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].totalOtherIncomeExpenseNet.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].discontinuedOperations.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].netIncomeFromContinuingOps.raw
data.context.dispatcher.stores.QuoteSummaryStore.incomeStatementHistory.incomeStatementHistory[3].netIncomeApplicableToCommonShares.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].shortTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[0].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].otherAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].shortTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[1].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].otherLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].otherAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].deferredLongTermAssetCharges.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].shortLongTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].shortTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[2].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].intangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].capitalSurplus.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].totalLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].totalStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].otherCurrentLiab.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].totalAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].commonStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].otherCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].retainedEarnings.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].treasuryStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].otherAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].cash.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].totalCurrentLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].deferredLongTermAssetCharges.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].otherStockholderEquity.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].propertyPlantEquipment.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].totalCurrentAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].longTermInvestments.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].netTangibleAssets.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].netReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].longTermDebt.raw
data.context.dispatcher.stores.QuoteSummaryStore.balanceSheetHistory.balanceSheetStatements[3].accountsPayable.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[0].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[1].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[2].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].changeToLiabilities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].totalCashflowsFromInvestingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].netBorrowings.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].totalCashFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].changeToOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].netIncome.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].changeInCash.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].endDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].repurchaseOfStock.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].totalCashFromOperatingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].depreciation.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].changeToAccountReceivables.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].otherCashflowsFromFinancingActivities.raw
data.context.dispatcher.stores.QuoteSummaryStore.cashflowStatementHistoryQuarterly.cashflowStatements[3].changeToNetincome.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.previousClose.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.regularMarketOpen.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.twoHundredDayAverage.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.payoutRatio.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.regularMarketDayHigh.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.averageDailyVolume10Day.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.regularMarketPreviousClose.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.fiftyDayAverage.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.open.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.averageVolume10days.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.exDividendDate.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.beta.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.regularMarketDayLow.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.priceHint.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.trailingPE.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.regularMarketVolume.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.marketCap.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.averageVolume.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.priceToSalesTrailing12Months.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.dayLow.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.ask.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.askSize.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.volume.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.fiftyTwoWeekHigh.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.forwardPE.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.fiftyTwoWeekLow.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.bid.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.bidSize.raw
data.context.dispatcher.stores.QuoteSummaryStore.summaryDetail.dayHigh.raw

Ah tu parlais de tableau croisé dynamique ! J'avais pas compris. Moi je parlais de array, sans passer par onglet, puisque in fine les données ne servent qu'à des ratios. Donc inutiles de les avoir visuellement.

En ce qui concerne QuoteSummaryStore, ce qu'il va nous falloir, c'est uniquement:

- cashflowStatementHistory

- balanceSheetHistory

- incomeSheetHistory

Le reste est inutile. D'où mon code, mais qui ne fonctionne pas... Et je bloque sur la solution !?

Rechercher des sujets similaires à "rapatriement donnees cachees derriere lien hypertext"