[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"content-/azn-no-data-investigation":3,"all-pages-for-dir":391,"related-/azn-no-data-investigation":392,"og-image-/azn-no-data-investigation":413},{"id":4,"title":5,"body":6,"category":376,"concepts":376,"description":377,"extension":378,"meta":379,"navigation":380,"ogImage":376,"path":381,"project_name":376,"published":382,"publishedAt":383,"seo":384,"source":376,"stem":385,"tags":386,"todo":376,"unpublished":382,"updatedAt":383,"__hash__":390},"pages/2025-12/2025-12-15/azn-no-data-investigation.md","AZNだけ「No data」になる原因調査メモ",{"type":7,"value":8,"toc":361},"minimark",[9,14,18,47,54,57,119,123,134,139,212,215,231,235,261,264,269,286,290,310,314,347,351],[10,11,13],"h1",{"id":12},"azn-だけno-dataになる原因2025-12-14","AZN だけ「No data」になる原因（2025-12-14）",[15,16,17],"h2",{"id":17},"結論",[19,20,21,22,26,27,42,43,46],"p",{},"AZN は",[23,24,25],"strong",{},"EAC（Actuals and Consensus）データ自体は取得・保存できている","一方で、出力/判定側のスクリプトが参照しているのが",[23,28,29,33,34,37,38,41],{},[30,31,32],"code",{},"financial_data_annual"," / ",[30,35,36],{},"financial_data_quarterly","（= ",[30,39,40],{},"v_annual_data","）","のみのため、AZN が",[23,44,45],{},"「No data」扱い","になっています。",[19,48,49,50,53],{},"つまり「取得に失敗した」のではなく、",[23,51,52],{},"参照テーブルの不一致（EAC と Financial の別系統）","が原因です。",[15,55,56],{"id":56},"事象",[58,59,60,72,90,102],"ul",{},[61,62,63,64],"li",{},"TSV は存在する\n",[58,65,66],{},[61,67,68,71],{},[30,69,70],{},"C:\\Users\\numbe\\Downloads\\actual-and-consensus\\2025-12-14\\AZN_EAC_20251214.tsv","（サイズ: 40458 bytes）",[61,73,74,75],{},"DB に companies は登録済み\n",[58,76,77],{},[61,78,79,82,83,86,87,41],{},[30,80,81],{},"companies",": ",[30,84,85],{},"AZN"," が存在（",[30,88,89],{},"company_id=102",[61,91,92,93],{},"しかし Financial 系テーブルが空\n",[58,94,95],{},[61,96,97,33,99,101],{},[30,98,32],{},[30,100,36],{}," に AZN の行が 0",[61,103,104,105],{},"一方、EAC 系テーブルは埋まっている\n",[58,106,107,113],{},[61,108,109,112],{},[30,110,111],{},"eac_annual"," に 1078 行",[61,114,115,118],{},[30,116,117],{},"eac_quarterly"," に 4851 行",[15,120,122],{"id":121},"直接確認このリポジトリ内のdb","直接確認（このリポジトリ内のDB）",[19,124,125,126,129,130,133],{},"※ メモで言及されていた ",[30,127,128],{},"apps/web/data/koyfin.db"," はこの環境では存在せず、実体は ",[30,131,132],{},"scraper/data/koyfin.db"," でした。",[19,135,136,138],{},[30,137,132],{}," で確認した値:",[58,140,141,149,157,164,172,180,187,194],{},[61,142,143,82,146],{},[30,144,145],{},"companies (AZN)",[30,147,148],{},"[(102, 'AZN')]",[61,150,151,82,154],{},[30,152,153],{},"financial_data_annual (AZN)",[30,155,156],{},"0",[61,158,159,82,162],{},[30,160,161],{},"financial_data_quarterly (AZN)",[30,163,156],{},[61,165,166,82,169],{},[30,167,168],{},"eac_annual (AZN)",[30,170,171],{},"1078",[61,173,174,82,177],{},[30,175,176],{},"eac_quarterly (AZN)",[30,178,179],{},"4851",[61,181,182,82,185],{},[30,183,184],{},"v_annual_data (AZN)",[30,186,156],{},[61,188,189,82,192],{},[30,190,191],{},"v_eac_annual (AZN)",[30,193,171],{},[61,195,196,199,200],{},[30,197,198],{},"v_eac_annual"," の例（Sales-Adjusted）:\n",[58,201,202],{},[61,203,204,207,208,211],{},[30,205,206],{},"FY 2015A = 24,708",", ",[30,209,210],{},"FY 2016A = 23,002",", ...",[19,213,214],{},"参考（他銘柄は Financial が入っている例）:",[58,216,217],{},[61,218,219,82,222,225,226,228,229,41],{},[30,220,221],{},"MSFT financial_data_annual",[30,223,224],{},"3012","（",[30,227,40],{}," も ",[30,230,224],{},[15,232,234],{"id":233},"なぜ-azn-だけこうなるのか推測を含む","なぜ AZN だけこうなるのか（推測を含む）",[58,236,237,244,255],{},[61,238,239,240,243],{},"EACのインポートは ",[30,241,242],{},"eac_*"," に入る（今回 AZN は入っている）",[61,245,246,247],{},"一方で Financial（ハイライト/PL/BS/CF等）のインポートが AZN だけ走っていない/元TSVが無い/対象外になっている可能性が高い\n",[58,248,249],{},[61,250,251,252,254],{},"その結果、",[30,253,32],{}," が空のまま",[61,256,257,258,260],{},"出力/判定側が ",[30,259,40],{},"（= financial_data_annual ベース）しか見ない設計だと、AZN は常に「No data」になる",[15,262,263],{"id":263},"対処案",[265,266,268],"h3",{"id":267},"a-azn-の-financial-データをインポートする王道","A. AZN の Financial データをインポートする（王道）",[58,270,271,280],{},[61,272,273,274,276,277,279],{},"AZN の財務TSV（EACではない方）を ",[30,275,32],{},"（必要なら ",[30,278,36],{},"）へ取り込む",[61,281,282,283,285],{},"取り込み後、出力/判定は ",[30,284,40],{}," 経由で自然に通る",[265,287,289],{"id":288},"b-出力判定スクリプト側にフォールバックを入れる最小改修","B. 出力/判定スクリプト側にフォールバックを入れる（最小改修）",[58,291,292,303],{},[61,293,294,296,297,276,299,302],{},[30,295,40],{}," が 0 件のときだけ ",[30,298,198],{},[30,300,301],{},"v_eac_quarterly","）も参照する",[61,304,305,306,309],{},"ただし Financial と EAC は ",[23,307,308],{},"指標体系が別物","なので、出したい指標が EAC 側に存在するか（名称/単位）を合わせる必要あり",[265,311,313],{"id":312},"c-出力側で-azn-を除外する運用で回避当面の方針","C. 出力側で AZN を除外する（運用で回避・当面の方針）",[58,315,316,322,344],{},[61,317,318,321],{},[23,319,320],{},"方針: DBからAZNは削除しない","（EACは取得できており、Financialが取れた時に整合させられるため）",[61,323,324,325,327,328,331,332],{},"出力/判定（",[30,326,40],{}," 前提の処理）では、Financialが未取得の銘柄が混ざると「No data」扱いでノイズになるため、当面は ",[23,329,330],{},"出力側で AZN を除外","する\n",[58,333,334],{},[61,335,336,337,340,341,343],{},"例: ",[30,338,339],{},"WHERE ticker \u003C> 'AZN'"," を追加、または「",[30,342,40],{}," の行数が0の銘柄はスキップ」など",[61,345,346],{},"Financial側の取得（TSVダウンロード/インポート）が成功したタイミングで、この除外は解除する",[15,348,350],{"id":349},"いまのdbのままだとどうなるか","いまのDBのままだとどうなるか",[58,352,353],{},[61,354,355,357,358,360],{},[30,356,32],{}," が空のままなので、",[30,359,40],{}," を参照する処理からは AZN が「No data」判定され、出力されません。",{"title":362,"searchDepth":363,"depth":363,"links":364},"",2,[365,366,367,368,369,375],{"id":17,"depth":363,"text":17},{"id":56,"depth":363,"text":56},{"id":121,"depth":363,"text":122},{"id":233,"depth":363,"text":234},{"id":263,"depth":363,"text":263,"children":370},[371,373,374],{"id":267,"depth":372,"text":268},3,{"id":288,"depth":372,"text":289},{"id":312,"depth":372,"text":313},{"id":349,"depth":363,"text":350},null,"AstraZeneca(AZN)がfinancial-quizで「No data」表示になる原因の調査結果と対処案","md",{},true,"/azn-no-data-investigation",false,"2025-12-15T00:00:00.000Z",{"title":5,"description":377},"2025-12/2025-12-15/azn-no-data-investigation",[387,388,389],"debugging","database","financial-data","0KGgycnRAzB3UZvqXA9OHRqH3gVIUxgx1fNOlcQDrOA",[],[393,397,401,405,409],{"title":394,"path":395,"publishedAt":396},"DBのレスポンスが遅い時の調査方法","/db-slow-response-debug","2025-12-19T00:00:00.000Z",{"title":398,"path":399,"publishedAt":400},"eurekapu-nuxt4: Drizzle ORM移行計画 -- 4並行エージェント調査からCodexレビューまで","/drizzle-orm-migration-2026-02-23","2026-02-23T00:00:00.000Z",{"title":402,"path":403,"publishedAt":404},"キャッシュフロー計算書ページの実装ログ -- Pinia + Vue Router + Miller Columns","/cashflow-statement-page-implementation","2026-02-10T00:00:00.000Z",{"title":406,"path":407,"publishedAt":408},"勘定科目マスターDB化の実装記録","/account-master-db-implementation","2026-01-26T00:00:00.000Z",{"title":410,"path":411,"publishedAt":412},"useOgMetaヘルパーのビルドエラー調査","/useogmeta-build-failure-analysis","2025-12-31T00:00:00.000Z","https://log.eurekapu.com/og/blog/azn-no-data-investigation.png?v=2025-12-15T00%3A00%3A00.000Z&title=AZN%E3%81%A0%E3%81%91%E3%80%8CNo%20data%E3%80%8D%E3%81%AB%E3%81%AA%E3%82%8B%E5%8E%9F%E5%9B%A0%E8%AA%BF%E6%9F%BB%E3%83%A1%E3%83%A2&author=Kei%20Komatsu&sig=646dcf2885e178eb",1785654678042]