コラム

Lookerにまつわるあれこれ

  • 69 Topics
  • 8 Replies

69 Topics

BigQueryから返ってくるエラー `Error: Not found: Dataset XXXX was not found in location US`

BigQueryに格納されているデータを使用していると、時々下記のようなエラーに出くわします。 `Error: Not found: Dataset XXXX was not found in location US`https://stackoverflow.com/questions/51395256/error-not-found-dataset-my-project-namedomain-public-was-not-found-in-locatioこれはLooker側から発行されているエラーではなく、LookerがBigQueryにクエリを発行した際にBigQueryから返されるエラーです。 エラーの原因は様々ですが、下記のような場合にこのエラーが発生することがあるようです。・指定されたテーブルが見つからない・存在しない・異なるスキーマ内に同じ名称のテーブルが複数存在しているが、スキーマが指定されておらずどのテーブルを参照すれば良いかわからない 上記に原因がある場合は、Lookmlのsql_table_nameパラメーターにデータベース名・スキーマ名・テーブル名を記載することで解消できることがあります。 例:```view: desired_view_name {  sql_table_name: database_name.schema_name.table_name ;;}``` 様々な原因で発生するエラーのため、上記の解決法によって解決しない場合もございます。テーブルが参照できない状況にあるのではという観点で原因特定を実施することをおすすめします。

salesforceをIdPにしてSAMLでSSOする方法

LookerはSAMLに対応しており、SP-initiatedでSSOすることが可能です。 今回は、SalesforceをIdPとして接続し、Lookerにログインするための設定手順を以下に示します。 まず、salesforceをIdPとして利用できるようにするために、salesforceにて以下の設定がまず必要です。salesforceのヘルプを参照して、設定してください。 A. 私のドメインを登録 B. IDプロバイダの有効化 こちらが完了していることを前提に、今回の目的のための設定手順を説明します。 手順 Salesforceの接続アプリケーションを登録 1.1 設定画面に移動し、ID -> IDプロバイダ へ移動する 1.2 画面上部にある”証明書のダウンロード”ボタンをクリックし、証明書をダウンロードする ※ Lookerでの設定に利用 1.3 画面下部にあるサービスプロバイダのセクションにあるリンクをクリック 1.4 表示された画面の項目に、以下のLookerのインスタンスに関する情報を入力し、保存する 接続アプリケーション名: 任意の名前 (例 Looker) API参照名: 任意の名前 (例 Looker) 取引先責任者メール: システム管理者のメールアドレス 開始URL: LookerインスタンスのURL (例 https://xyz.jp.looker.com/) SAMLの有効化:チェック入れる エンティティID:任意のFQDN形式の文字列 ※Lookerでも同じ文字列をセットする必要あり ACS URL:LookerインスタンスのURL + /samlcallback (例 https://xyz.jp.looker.com/samlcallback) 件名識別:統合ID 名前ID形式:urn:oasis:names:tc:SAML:2.0:nameid-format:transient 発行者:任意のFQDN形式の文字列 ※Lookerでも同じ文字列をセットする必要あり Idp証明書:デフォルトのIdP証明書 他の項目は空白のまま 1.5 保存後、以下の画面にて"Manageボタン"をクリック 1.6 画面が切り替わった後、画面下部にあるプロファイルにて、"プロファイルを管理する"ボタンをクリックする 1.7 Loo

TopoJSON を利用した地図上での可視化分析 (500m メッシュ)

Lookerで地図上にデータを可視化する方法として、一番手軽なのは、topoJSONファイルを用意して可視化をする方法になります。ただし、topoJSON形式で表示する地図データは粒度が細かくなるほど、ファイルサイズが大きくなってしまうため、市区町村単位や、250m、500mメッシュという細かい粒度で表現するには向いていません。上記の場合は、タイルを利用した大規模カスタム・マップ・レイヤー を参照ください。 とはいえ、一部の地域に限定する形でも構わないので、タイルを利用せずにメッシュ表示を行うための方法をご紹介します。(なお、当記事で記載しているリンク先は執筆現在の情報ですので、変更があった場合は、コメントなどで教えていただけますと幸いです。また、LookMLの書き方以外の部分については、弊社サポートチームではご対応致しかねますので、本記事に関してのご質問はコメントにてお願いいたします) 今回は、東京都の中央区・千代田区・港区・新宿区の事業所数を500mメッシュで表示してみようと思います。実現するためには、以下の手順が必要となります。 境界線データの準備 データ表示用のサンプルデータの準備 LookMLの作成 なお、今回は、メッシュコードを利用して表示しています。メッシュコード については、e-Statのホームページに定義が記載されています 1. 境界線データの準備 まずは、地図上に表示する際に必要となる境界線データは、こちらの e-Statのホームページから境界線データを取得します。 今回は500mメッシュでの表示を行いますので、4次メッシュから世界測地系緯度経度・Shapefileを選択します。ファイルが1次メッシュ単位で区切られているのですが、東京都が含まれているのは、M5339となります。 このままでは、Lookerで取り扱えないのでファイルを変換する必要があるのですが、そのまま変換してしまうとファイルサイズが大きくなってしまうので分割を行います。 分割を行うために、 先ほどダウンロードしたZIPファイルを解凍する 含まれているdbf, prj, shp, shxをドラッグ&ドロップしてmapshaperというサイトでインポートします。 画面でExplortをクリックし、geoJSON形式してダウンロードします 次に、ダウンロードしたファ

BigQuery Standard SQLで、ネストされたデータをモデリングする

本記事は Modeling nested data in Big Query Standard SQL 🇺🇸 の翻訳記事です。 Big Queryの標準SQL(Standard SQL Dialects)のリリースされ、LookMLでネストされたデータセットをモデル化することがはるかに簡単になりました。 ネストされたファイルと繰り返しファイルがBigQueryでどのように機能し、それらがなぜ重要なのかについての簡単な入門については、 ダニエルの投稿 をご覧ください(訳注:こちらはリンク切れです)。 また、こちらのリンクからGoogle Analytics PremiumとGA360用のBlocksを参照できます。こちらをご覧いただければ、以下に示すプラグ・アンド・プレイですぐに使えるLookMLのコンセプトがよく理解できると思います。 以下に示す例は、ネストされた繰り返しフィールドを多用するGoogle Analytics Premium(GAP)をBig Queryにエクスポートしたデータセットに基づいています。 ネストされた繰り返しフィールド(例:STRUCTの配列)の結合ベースのクエリー、FLATTENSの置き換え Google Analytics Premiumスキーマには、セッションレベルのデータが格納されたテーブルが1つあり、個々のヒット(例えばイベント)レコードがそれぞれのセッション内にネストされています。ヒットレベルとセッションレベルのデータを同時にクエリする(たとえば、ヒットレベルとセッションレベルのデータを同時にカウントする(例えば、セッションの合計数とその時間内のヒット数の合計数)ために、これらの2つの異なるレベルのネストを参照するための新しい結合ベースの構文があります(ドキュメントはこちら )。 この構文を参考にし、モデルのセッションフィールドとヒットフィールドに個別のビューファイルを定義し、それらをExploreで結合します。 view: session { sql_table_name: `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*` ;; # このViewファイルにセッションに関連する全てのディメンションとメジャーを定

プロジェクトのバージョン管理設定

本ページでは、バージョン管理で利用するGit連携について、どのように貴社プロジェクトで設定できるかを説明します。(🇺🇸本記事は、このヘルプ記事を翻訳したものになります) Project Settings Project Settingsページで設定を変更するためには、Looker管理者である必要があります。管理者ではないLooker開発者はProject Settingsページを閲覧することはできますが、変更することはできません。 Project Settingsページでは、プロジェクトの追加設定を行うことができます。このページを表示するためには、対象のプロジェクトを開き、GitメニューからProject Settingsを選択します。 Projects SettingsページConfigurationタブ上で、以下の設定を行えます: Name: プロジェクト名。 テキストを編集し、Save Project Settingsボタンをクリックすることで、リネームすることができます。詳細には、こちらを参照。 Code Quality: プロジェクトに対する変更をコミットする前に、開発者に対してLookML Validator を実行しエラーがない状態にすることを要求するかを選択します。以下のオプションがあります: Require fixing errors and warnings before committing: Looker開発者はLookML Validatorを実行し、すべてのエラーと警告を解消したときのみコミット可能。(推奨) Only require fixing errors before committing: Looker開発者は、LookML Validatorを実行し、すべてのエラーを解消したときのみコミット可能。警告が存在していてもコミット可能。推奨されていませんが、このオプションは、たとえば、Lookerのアップグレード後にLookMLの動作に新しい警告が導入される場合に役立ちます。 Allow committing broken code: Looker開発者は、LookML Validatorを実行せず、エラーや警告があったとしてもコミット可能。LookMLが機能しなかったり、誤った結果を生成する可

タイルを利用した大規模カスタム・マップ・レイヤー

本記事は、以下のトピックを参考に日本地図上でメッシュマップ表示を行う方法について記載しています。Large custom map_layers with tiles お客様からカスタム・マップを表示したいというご要望をいただくことがあります。まず、最初に思いつくのは、TopoJsonを利用する方法なのですが、日本全体を対象としたカスタムマップを作成しようとした場合、ファイルサイズが数百MBやGBとなってしまうことがあります。  幸運にも、無料もしくは低コストで実現する方法があります。実現するためには、いくつかの開発者ツール(コマンドラインなど)が必要ですが、Githubを以前に使用したことがある場合は、おそらく大丈夫です。  本手順を実施するためには、まず、マップ・レイヤーを表す単一のファイルが必要となります。Lookerへ直接ファイルをアップロードする場合には、ファイルフォーマットがTopoJsonである必要がありますが、今回の手順では、GeoJSON、KMLもしくはShape Fileである必要があります。Mapshaperをご利用いただくことで簡単にGeoJSON形式へ変換することも可能です。  今回のチュートリアルでは、日本全国を1km四方の単位に分割している3次メッシュのファイルを利用します。もととなるファイルは、こちらのe-Statからダウンロードしていますが、170近くのファイルをダウンロードして結合する必要があるため、変換済みのファイルをこちらにアップロードしてあります。(直接ダウンロードして結合されたい場合は、QGIS入門の記事を参考にQGISを利用して結合いただけます。)こちらをそのまま利用とした場合、ファイルすべてをブラウザ上にダウンロードしようとするために、ブラウザの動作が非常に重くなってしまうことは頑なに想像が可能です。  しかし、Googleマップを駆動するのと同じテクノロジー(タイル)を利用して、ファイルを扱いやすいものにすることができます。基本的な考え方は、ズームインした場合、ビューポートに表示されるのはわずかな領域だけなので、それらをロードするだけです。次に、パンしながら、隣接するものをロードします。  一方、ズームアウトして何千もの地域がある国の大きな地域を見ることができる場合、GeoJSONファイルにあるすべての詳細は実際には必

BigQuery のワイルドカードテーブルを1つのViewを通して検索する方法

BigQueryでは、以下のようなSuffix(接尾辞)付きのワイルドカードテーブルを、ワイルドカードを使って検索することが可能です。 テーブル例 log_table_20190101 log_table_20190102 log_table_20190103 ・・・ SQL例 SELECT * FROM `<project-id>.<dataset-id>.log_table_*` これらのテーブルに対して、Lookerにてcreate view from tableを行ってしまうと、log_table_20190101、log_table_20190102、log_table_20190103、・・・といった対となるViewがそれぞれ作成されてしまいます。このままでは、各テーブルにまたがった集計を行うのがとても不便です。そこで、これらのテーブルを一つのViewを通して一貫的に検索できるようにするためには、ViewおよびExploreにて行う必要があります。 まず以下の例のようにViewを記述する必要があります。_TABLE_SUFFIXをディメンションとして登録することで、WHERE句で適用可能な疑似列として利用できるようになります。 view: log_table { sql_table_name: `<dataset-id>.log_table_*` ;; dimension_group: partition { type: time sql: TIMESTAMP(PARSE_DATE('%Y%m%d', REGEXP_EXTRACT(_TABLE_SUFFIX,r'\d\d\d\d\d\d\d\d'))) ;; } 以下、必要なDimension, Measureを定義してください。 ・・・ } 次に、このViewを通してデータを探索するためには、以下の例のようにモデルでExploreを設定します。この時に、日付で検索対象のテーブルを絞り込まれるようにするために、connditionally_filterを使用しています。これにより、where句で_TABLE_SUFFIXを対して強制的にフィルターされるようになり、適切なパーティションフィルタリングが行われます。 explore:

Refinementsを使ってLookMLのコードを整理する

本記事はこちらの英語記事🇺🇸 の翻訳です。 Looker 7.6 より LookML に refinements が追加されました。本記事では refinements がどのように動作するのかを説明したいと思います。また、関連するコードを一緒に管理するために、どのようにLookMLコードを整理、または「レイヤー化」すれば良いのかについて書いてみたいと思います。 Refinements とは? Refinementsは、ベースとなるLookMLのオブジェクトに対して変更を加えることができると言う意味で Extends(継承) とよく似ていますが、新しい名前のオブジェクトを新規に作成するのではなく、既存のオブジェクトに対して直接上書きして変更を加える言う点が異なります。 基本的な例を見てみましょう。プラス(+)記号に注意してください。 view: fact { sql_table_name: fact ;; } view: +fact { label: "Facts" dimension: date { type:date } } view: +fact { label: "Quantified Facts" dimension: amount { type:number } } これら3つの独立した宣言は、Extendsと同一のマージ規則にしがって効率的に結合されます。これは、以下の記述と同等です: view: fact { sql_table_name: fact ;; label: "Quantified Facts" dimension: date { type:date } dimension: amount { type:number } } これは非常に小さな変更であると同時に、非常に大きな変更でもあります!Refinementsの使い所はたくさんあるでしょう。例えば、LookML Blocks やプロジェクトをまたいでインポートされたLookMLのモデルなどです。ただ、ここでは、もう少し面白い、かつ広く適用可能な使用方法に着目してみたいと思います:チームで開発しているときに、LookMLプロジェクトをより管理しやすくする方法です。 LookML のレイヤー化 通常、LookMLは

強力なデータのドリルダウン

🇺🇸More Powerful Data Drilling🇺🇸 基本的なメジャーのドリルダウン Lookerのユニークな点の一つは、データベースに直接接続するところです。これは、常に新鮮なデータにアクセスでき かつ 常に最も細かい粒度のレベルまでドリルダウンできる事を意味します。そのため、もちろん年次や月次のサマリーを見ることができますが、Lookerは日、時間や秒にまで瞬時にドリルダウンするオプションを提供します。 常時のカテゴリ概要からはじめ、次に1つのカテゴリ(ジーンズ)の月次売上チャートにドリルダウンするのを以下で見ることができます。 さらにいろいろな使い方 しかし、LookerのWebネイティブのモダンなアーキテクチャは、1つのレベルから次の粒度までドリルダウンするだけでなく、もっと多くを実現できる事を意味しています。いくつかの簡単なパラメータを利用して、ユーザーが望む洗練されているカスタムドリルパスを構築することができます。 これを実証するために、以下で最も一般的なドリルパターンのいくつかのサンプルコードを作成しました。: 並べ替えと制限 (例:上位20件を表示) データのピボット トレンドラインを使用した高度なビジュアライゼーションへのドリルダウン D3とJavascriptで構築できるカスタムVizへのドリルダウン 条件付き書式を使用した表計算へのドリルダウン カスタム制限の追加 (5000まで) 最初の20件の結果を表示する LookML measure: returned_count { type: count_distinct sql: ${id} ;; filters: { field: is_returned value: "yes" } drill_fields: [detail*] link: {label: "Explore Top 20 Results" url: "{{ link }}&limit=20" } } 並べ替えの追加 売上上位20件を表示する LookML measure: returned_count { type: count_di

新規のユーザーだけを Distinct しながら running_total (累計)を取得する

Lookerではテーブル計算でのrunning_total関数や、Measureでrunning_totalパラメータが準備されていますので、Explore上で簡単に累計値を取ることができます。ですが、例えばユーザーの新規純増分だけを抽出してその累計を出したい、と言うようなケースでは、少し工夫が必要になります。 こちらの記事にあるように、日付でソートし「一つ前の日付」を参照することで、そのユーザーが新規なのかどうかを判断することができます。これを使って、純増分のユーザー数をカウントすることでDISTINCTした累計を算出することができます。 考え方については前述の記事の通りなのですが、これをもう少し具体的に見ていきたいと思います。例えば、次のようなデータがあるとします。 田中 一郎は10-01に初回ログインをしており、10-03に2回目のログインをしています。同様に佐藤 次郎は10-01と10-02にログインをしています。このログインユーザーのUUを日別にとると、次のようなUUおよび累計になります。 ここで、10-01のUUは初日なので2で問題ありません。しかし、10-02の累計値は5になっています。10-02に着目すると佐藤 次郎は確かにログインをしているのですが、この人はすでに10-01にログイン済みなので、当該期間の延べ数としてカウントしたくありません。 そこで、それぞれのログインユーザーの「前回のログイン日」を参照することで、それぞれのユーザーが初めてログインしたのか、それとも以前にログインしたことがあるのかを区別するロジックを作って、これを実現してみます。ここではサブクエリーを書く必要がありますが、Lookerでは、このようなケースではネイティブ派生テーブルを利用すると、すっきりと記述することができます。 まず、先程のログイン日とログインユーザーIDを表示させている画面で、ギアマークから Get LookML をクリックします。 続いて、Derived Tableタブをクリックして、生成されたコードをクリップボードにコピーします。 得られたLookMLのコード(ネイティブ派生テーブルのコード)を、LookMLプロジェクトの中に記述します。このとき、View名をわかりやすいものに変更してください。 得られたネイティブ派生テーブルに二つの変更を追加しま

Lookerで表計算結果のランクを動的なフィルタとして使う - Qiita

※タイトル通り&ほとんどこの記事の和訳です。 やりたかったこと 事前にviewで定義しておくのではなく、粒度や集計軸を動的に変えられるランクをフィルタとして使いたかった。 ハードル 事前にviewで定義したrank dimensionを使うと、集計軸ごとに複数dimensionを作らなければいけない。 Explore上でTableCalcurations機能を使って作った計算結果はフィルタとして使えない。 使っているテクニック parameter Table Calculations Hide from Visualization Hide "No"s from Visualization やり方 ①viewに type: numberのdimension と parameterの2つを追加する。この時、dimensionのsql句ではparameterの名前を指定する。(この例ではmax_rank) parameter: max_rank { type: number } dimension: rank_limit { type: number sql: {% parameter max_rank %} ;; } ②Exploreに移動。好みの粒度で集計し、ソートをかけたところにさっき作成したdimension(例ではrank_limit)を追加。max_rankはfilterとして追加し、上位何件表示したいかを入力しておく。 (max_rankで入力した値はrank_limitに渡され、固定値として表示される) ③表計算を2つ作成。1つ目はRankで、どの指標でランキングを作成するかを指定。2つ目はBooleanで、前に作成したRank計算結果とrank_limitを比較するもの。戻り値はyesno型。 (この時、表計算を利用するため表の中に使っていないmeasureを使うことはできないので注意) ④作成した2つの表計算はHide from Visualizationする。 ⑤表計算結果であるshow_in_visualizationの設定から、Hide "No"s from Visualizationを選択すると、Noが返ってきている行がVisualizationに出てこなくなる。 解説 データベース上に存在しない値でもユーザー側から任

Looks や Dashboards のSalesforce (SFDC)への埋め込み

🇺🇸 Embedding Looks and Dashboards into Salesforce (SFDC) in English 🇺🇸 多くのデータに精通した企業は、Salesforceのようなツールを運用するチームを持っています。一部のお客様は、LookerをSalesforceに組み込んで内部のデータベースからアカウントアクティビティのクイックビューやリード情報を閲覧できるようにしています。 以下は、LookerをSalesforceに埋め込む方法の例 です。 LookerをSalesforceに埋め込むには、各ユーザーにLookerのアクセス権限が必要です。データはSalesforceプラットフォームには渡されるのではなく、パラメータ化されたiFrameとして埋め込まれます。 始めるためにの簡単な手順を次に示します: 前提条件: Looker! Salesforce の管理者アカウント SFDCレコードとデータベース内レコード間のマッピング可能な関係(結合可能なキー) ステップ 1: VisualForceページを作成する((設定 - 開発 - ページ).ダッシュボードか単一のルック/クエリを挿入するかで、コードは若干異なりますl.要素をページに適切に合わせるために、幅と高さを調整する必要があります。 ダッシュボード 例 ダッシュボードまたはExploreのURLから、Salesforce変数を利用してクエリをフィルタリングするためのワイルドカードを挿入するだけです。最初の例では、ページの SalesforceアカウントIDを挿入し、 {!Account.Id}をLookerダッシュボードのsalesforce_userid フィルターに挿入します。通常のダッシュボードはURLの前に/embed/を付加する必要があることに注意してください。 <apex:page standardController="Account"> <apex:iframe src="https://example.looker.com/embed/dashboards/123?salesforce_userid={!Account.Id}" width="900px" height=

一つのフィルターを複数のViewに適用する

複数のViewを結合する際、複数のViewで同じフィルターをかけたいという場面はないでしょうか? 例えば、OrdersビューとUsersビューを結合する際、同じ日付で絞り込みを行いたいというようなケースがあったとします。 これは別々のViewに存在するディメンションなのでExploreではViewごとにそれぞれフィルターを設定してもらうことになると思います。 とはいえこれは面倒なので、一つのフィルターを同時にOrders ViewとUsers Viewに適用する方法はないでしょうか。Filterパラメータを使えばできそうなので、ちょっと考えてみました。 パターン1 orders.view に以下のようなフィルターを作成します filter: date_filter { view_label: "common filter" description: "Please use this filter" type: date } 次に model ファイルに以下の sql_always_where パラメータを設定します。 explore: order_items { always_filter: { filters: [date_filter: "7 days"] } sql_always_where: {% condition order_items.date_filter %} ${order_items.created_raw} {% endcondition %} AND {% condition order_items.date_filter %} ${users.created_raw} {% endcondition %} ;; join: users { type: left_outer sql_on: ${order_items.user_id} = ${users.id} ;; relationship: many_to_one } } 元のDateディメンションをフィルターに使って欲しくない場合は、can_filter: no を追加して明示的にフィルターとして使用できないようにしておくのも良いかと思います。 dimensi

Custom ActionでCSV(ZIP)ファイルをSJISで送信

※ 本投稿はLooker Advent Caledar 2021 7日目の記事となります。Lookerから出力/送信されるCSVファイルは他システムで利用されることを考慮して、UTF8でエンコーディングされるようになっています。しかしながら、Microsoft ExcelはUTF8でエンコーディングされたCSVファイルをそのまま開くと文字化けしてしまうため、テキストエディタで開いて、エンコードを変更するか、Excelでファイルを開くメニューから順にウィザードに従って処理をする必要があります。CSVファイルがExcelに関連づけられていたりすると、ダブルクリックするとExcelが開いてしまってということで、CSVという形式に馴染みのない方もいらっしゃるのかもしれません。 そこで、今回は、Lookerが提供しているActionを利用して、Lookerから出力されるCSV形式のファイルをShift_JISやBOM付きCSVファイルに変換してメール送信してみたいと思います。今回の開発に際しての前提条件:Typescript/Javascriptをかけること NodeJSを起動できる環境をお持ちであること Yarnがインストールされていること SendGridのアカウントがあることそれでは、早速始めていきましょう。Custom Action Hubの開発まずは、ローカルの開発環境にCustom Action Hub Exampleのソースをクローンします。次に、ZIPファイルを圧縮/解凍するライブラリと文字コード変換を行ってくれるライブラリを追加します。yarn iconv-lite adm-zip @sendgrid/helpers @sendgrid/mailiconv-lite adm-zip @sendgrid/mail @sendgrid/helpersCustom Actionのコードを記載していきます。必要なライブラリのimportなどimport * as Hub from "looker-action-hub/lib/hub"import * as helpers from "@sendgrid/helpers"const AdmZip = require('adm-zip')const iconv = require('iconv-lite')const

System Activityで見えること

こんにちは。LookerAdvent Calendar15日目の記事として「System Activity」について少し掘り下げて書いて見ようと思います 。 1. System Activityとは Lookerは、インストールされているインスタンスに関する使用状況やパフォーマンス情報等を保持しています。System Activityは、Labsの機能ですが有効にするとそれらの情報をダッシュボードやExploreで閲覧することができるようになります。 System Activity 2.誰がアクセスできるの? Lookerの管理者および、「see_system_activity」パーミッションが与えられているユーザーが利用可能です。(Permission Listについてはこちら) 3. 有効化方法 Lookerの[管理]メニュー内の[Labs]の中の[System Activity Model]をONにします。 Lookerの画面を更新すると、管理メニュー内に[System Activity] メニューが表示されるようになります。 4. User Activityで見えること ユーザーの利用状況に関する情報を確認することが出来ます。 例えば、以下の数値が確認出来ます。 ユーザーアカウントと利用状況 各種ユーザー数 どんな権限のユーザーがどのくらいいるかを確認出来ます。 ユーザー数合計、管理者/開発者、コンテンツ制作者、データコンシューマ(閲覧者)、埋め込みコンテンツ制作者、アクティブユーザーの割合(過去7日間にクエリかけたことある人/全ユーザー) クエリーユーザー数:過去6週間の、週次のクエリ実行者数です。 ユーザー別エンゲージメント 過去6週間の、週次のユーザーあたりの平均利用時間(クエリ実行時間から推測)と平均クエリ実行数 グループ別のクエリ実行者数(過去7日) 過去7日以内で実行した人、していない人の人数をグループ別に。 日別のクエリソース別の実行者数(過去7日) Dashboard、Explore、API、スケジュールタスク等のクエリソース別の実行者数 ユーザーに関する詳細 トップユーザー 過去7日以内の利用時間(クエリ実行時間から推測)のトップ10ユーザー トップダッシュボード構築者 過去7日以内に

ボードとホームページ機能を使ってLooker 初心者に優しいランディングページを設定する

社内でBIツールを使ったデータ活用を広げていく際のひとつの障壁として、はじめてツールを触る人への教育があるかと思います。Lookerでは機能や操作方法についてのドキュメントを豊富に揃えており、初めてLookerを触る方向けにも多数のドキュメント・チュートリアルをご用意しております。Lookerでのコンテンツの探し方 ※こちらは英語のみ 🙇 Lookerでのダッシュボードの表示 LookerでのLookの表示 などなど…それでもLookerの活用が進んでダッシュボードの数がどんどん増えてくると、初めてLookerにログインした人がどこをみたら良いのか分からない状況に陥ることが容易に想像されます。Looker管理者の視点から、以下の二つの機能を組み合わせ、各ユーザーが見るべきコンテンツに迷うことなく簡単にたどり着けるようにしましょう。boards (ボード) 機能 ホームページ機能1. boards (ボード) を作成する  boards (ボード) はLookerのバージョン6.20から利用可能になった機能です。  Lookやダッシュボードといったコンテンツはフォルダーに格納されています。boards (ボード) 機能は、それらのコンテンツを文字通り「ボード」にピン留めする機能となります。例えば以下のようにチーム毎に共有フォルダが分けられているとします。      Customer Successチームに所属する私が日頃見ている顧客のヘルススコアなどのダッシュボードは当然 Customer Successフォルダに格納されていますが、他にも見ているダッシュボードはたくさんあります。  例えば全社KPIダッシュボード(Company Wide Metricsフォルダ配下)、サポートチケットダッシュボード(DCLフォルダ配下)、オンボーディングプロジェクトのステータスダッシュボード(Professional Serviceフォルダ配下)など、多くのフォルダに業務で必要なダッシュボードが存在している状態です。  都度それぞれのフォルダに移動して開くのも手間ですし、フォルダ構造が複雑になってくるとどこに何が格納されているか分からなくなることも考えられます。  そのようなときはボードを作成し、上記のダッシュボードを全てボード上にピン留めしてしまいましょう。ボードの使い方に関す