Hey Don,
We'll take your thoughts into consideration for improving either the
docs or API.
Thanks,
-Y!SM Monkey
don.frazier wrote:
> Thank you monkey. Upon reviewing the documentation again, I see the
> following: "KeywordSummary
> A generated report that contains a pre-determined set of metrics for
> each keyword."
>
> This implies to me that the attributes, being "pre-determined" are
> not actually "pre-determined" at all. The attributes that appear
> are "determined" based on others. For example, roas (and others)
> only appear when numClicks is not 0.
>
> After carefully scrutinizing the documentation, I don't see anywhere
> that it mentions attributes being "optional" or "conditional" or
> anything else that indicates "sometimes here, sometimes not" nor any
> mention of "when it's here and when it's not." That would be useful
> documentation to have, up front, when I am developing custom code to
> use the output. As it is, the sandbox never delivered variable
> output so I incorrectly assumed the format was fixed. And as there
> was no mention of variability in the output, I again only found the
> problem once I had some live code to test.
>
> Your suggestion is of limited value. I am trying to loosely couple
> my parsing code to the reports (of which Yahoo/Panama is only 1).
> You suggestion is I tightly couple my code to your format and create
> a maintenance situation where I have to respond to every change in
> the format with a corresponding change in code. In my solution, I am
> loading the reports into a data base table and then normalizing it to
> a format where I can do my own reporting. As it stands now, the only
> thing I have to change when a report changes is the format of my bulk
> load table. I like having a single change point rather than having
> to re-compile, re-configure, etc.
>
> My request is to deliver the reports as document, with the "pre-
> determined" attributes. If there is no return, for example, just
> include roas="0.0". My solution was the reverse of your suggestion:
> I included a list of columns that I could ignore if present. Not
> good because I still have to update my config file if/when it
> changes. But I can usually calculate the variable columns from other
> sources.
>
> Thank you for your time.
>
>
> --- In yws-searchmarketing%40yahoogroups.com">yws-searchmarketing
yahoogroups.com, "Yahoo! Search Marketing
> Monkey" <plummerm
...> wrote:
>> Hey Don,
>>
>> I'd suggest creating a list of all possible columns up front, as
> they
>> are documented in the Reports section of the online documentation.
> Then
>> just fill in blank/null values for the columns not present in a
> given
>> row. You should be able to generalizer this concept to work in all
> your
>> xml to tsv conversions.
>>
>> Hope that helps,
>> -Y!SM Monkey
>>
>> don.frazier wrote:
>>> Hello all ... I am submitting a
>>> addReportRequestWithAccountAggregation() for my account. In the
>>> returned XML, there seems to be quite a bit of variance on the
>>> reports, depending on the the data. In Adcenter and Adwords,
>>> every "row" in the XML report has the same "columns" regardless
> of
>>> the data.
>>>
>>> Panama seems to return different "rows" depending on the actual
>>> data. For example, the "analytics" element may contain the
>>> attributes numImpr, numClick, ctr, numConv, revenue, cost and
>>> averagePosition. But if ctr is anything other than "0.0", then
> the
>>> additional columns cpc, numConv, clickConvRate and roas are also
>>> present.
>>>
>>> My technique for parsing this report is to flatten it into a tab
>>> delimited file that I then bulk load into my data base for
> further
>>> processing. Obviously, the variable columns are killing my
> process.
>>> I'd like to keep my XML parser generic cuz it works basically the
>>> same for any XML data, as long as the data follows a set
> pattern.
>>> Any idea if there's a way to get a consistent set of columns in
> the
>>> output? Samples below.
>>>
>>>
>>> <row cmpgnID="92" adGrpID="100" keywordID="22" urlID="48820"
>>> accountName="xxx" accountID="30" cmpgnName="s" adGrpName="xx2"
>>> keywordName="xx" url="http://xxx">
>>> <analytics numImpr="1" numClick="0" ctr="0.0" numConv="0"
>>> revenue="0.0" cost="0.0" averagePosition="1.0" />
>>> </row>
>>>
>>>
>>> <row cmpgnID="92" adGrpID="100" keywordID="222" urlID="8"
>>> accountName="xxx" accountID="30" cmpgnName="s" adGrpName="xx"
>>> keywordName="xx" url="http://xx">
>>> <analytics numImpr="26" numClick="5" ctr="0.19230769230769232"
>>> cpc="0.11" numConv="0" clickConvRate="0.0" revenue="0.0"
> roas="0.0"
>>> cost="0.55" averagePosition="1.1153846153846154" />
>>> </row>
>>>
>>>
>>>
>>>
>>>
>>> Yahoo! Groups Links
>>>
>>>
>>>
>
>
>
>
>
> Yahoo! Groups Links
>